@postnord/pn-marketweb-components 4.0.1 → 4.0.2
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/cjs/index-b02670c2.js +4 -12
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/pn-chat-message_2.cjs.entry.js +2 -1
- package/dist/cjs/pn-chat-message_2.cjs.entry.js.map +1 -1
- package/dist/cjs/pn-chat.cjs.entry.js +1 -1
- package/dist/cjs/{pn-chat.service-eaf6ed50.js → pn-chat.service-5a8d89b9.js} +2 -4
- package/dist/cjs/pn-chat.service-5a8d89b9.js.map +1 -0
- package/dist/cjs/pn-market-web-components.cjs.js +1 -1
- package/dist/cjs/pn-marketweb-table.cjs.entry.js +37 -29
- package/dist/cjs/pn-marketweb-table.cjs.entry.js.map +1 -1
- package/dist/cjs/pn-usp-promoter.cjs.entry.js +1 -1
- package/dist/collection/collection-manifest.json +1 -3
- package/dist/collection/components/widgets/pn-chat/pn-chat-message/pn-chat-message.js +2 -1
- package/dist/collection/components/widgets/pn-chat/pn-chat-message/pn-chat-message.js.map +1 -1
- package/dist/collection/components/widgets/pn-chat/pn-chat-stories-constants.js +23 -163
- package/dist/collection/components/widgets/pn-chat/pn-chat-stories-constants.js.map +1 -1
- package/dist/collection/components/widgets/pn-chat/pn-chat.service.js +1 -3
- package/dist/collection/components/widgets/pn-chat/pn-chat.service.js.map +1 -1
- package/dist/collection/components/widgets/pn-chat/pn-chat.stories.js +4 -4
- package/dist/collection/components/widgets/pn-chat/pn-chat.stories.js.map +1 -1
- package/dist/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.css +10 -1
- package/dist/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.js +2 -2
- package/dist/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.js.map +1 -1
- package/dist/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.stories.js +37 -1
- package/dist/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.stories.js.map +1 -1
- package/dist/collection/components/widgets/pn-marketweb-table/translations.js +33 -25
- package/dist/collection/components/widgets/pn-marketweb-table/translations.js.map +1 -1
- package/dist/collection/components/widgets/pn-usp-promoter/pn-usp-promoter.js +1 -1
- package/dist/collection/globals/types.js.map +1 -1
- package/dist/components/pn-chat-message2.js +2 -1
- package/dist/components/pn-chat-message2.js.map +1 -1
- package/dist/components/pn-chat.service.js +1 -3
- package/dist/components/pn-chat.service.js.map +1 -1
- package/dist/components/pn-marketweb-search.js +126 -1
- package/dist/components/pn-marketweb-search.js.map +1 -1
- package/dist/components/pn-marketweb-table.js +36 -28
- package/dist/components/pn-marketweb-table.js.map +1 -1
- package/dist/components/pn-usp-promoter.js +1 -1
- package/dist/esm/index-c311acd6.js +4 -12
- package/dist/esm/loader.js +1 -1
- package/dist/esm/pn-chat-message_2.entry.js +2 -1
- package/dist/esm/pn-chat-message_2.entry.js.map +1 -1
- package/dist/esm/pn-chat.entry.js +1 -1
- package/dist/esm/{pn-chat.service-f4037d6f.js → pn-chat.service-0def5c4e.js} +2 -4
- package/dist/esm/pn-chat.service-0def5c4e.js.map +1 -0
- package/dist/esm/pn-market-web-components.js +1 -1
- package/dist/esm/pn-marketweb-table.entry.js +37 -29
- package/dist/esm/pn-marketweb-table.entry.js.map +1 -1
- package/dist/esm/pn-usp-promoter.entry.js +1 -1
- package/dist/package.json +1 -1
- package/dist/pn-market-web-components/p-3a936c5d.entry.js +2 -0
- package/dist/pn-market-web-components/p-3a936c5d.entry.js.map +1 -0
- package/dist/pn-market-web-components/p-6bec8d72.js +2 -0
- package/dist/pn-market-web-components/p-6bec8d72.js.map +1 -0
- package/dist/pn-market-web-components/p-923aa6d2.entry.js +2 -0
- package/dist/pn-market-web-components/p-923aa6d2.entry.js.map +1 -0
- package/dist/pn-market-web-components/{p-cc7c596e.entry.js → p-a298a263.entry.js} +2 -2
- package/dist/pn-market-web-components/{p-f21311ad.entry.js → p-da56370b.entry.js} +2 -2
- package/dist/pn-market-web-components/pn-market-web-components.esm.js +1 -1
- package/dist/pn-market-web-components/pn-market-web-components.esm.js.map +1 -1
- package/dist/types/components/widgets/pn-chat/pn-chat-message/pn-chat-message.d.ts +1 -0
- package/dist/types/components/widgets/pn-chat/pn-chat-stories-constants.d.ts +6 -127
- package/dist/types/components/widgets/pn-marketweb-table/translations.d.ts +8 -0
- package/dist/types/components.d.ts +0 -100
- package/dist/types/globals/types.d.ts +2 -0
- package/dist/vscode-data.json +0 -142
- package/package.json +1 -1
- package/dist/cjs/pn-chat.service-eaf6ed50.js.map +0 -1
- package/dist/cjs/pn-search.cjs.entry.js +0 -54
- package/dist/cjs/pn-search.cjs.entry.js.map +0 -1
- package/dist/cjs/pn-usp-simple.cjs.entry.js +0 -56
- package/dist/cjs/pn-usp-simple.cjs.entry.js.map +0 -1
- package/dist/collection/components/widgets/pn-search/pn-search.css +0 -140
- package/dist/collection/components/widgets/pn-search/pn-search.js +0 -368
- package/dist/collection/components/widgets/pn-search/pn-search.js.map +0 -1
- package/dist/collection/components/widgets/pn-search/pn-search.stories.js +0 -54
- package/dist/collection/components/widgets/pn-search/pn-search.stories.js.map +0 -1
- package/dist/collection/components/widgets/pn-usp-simple/pn-usp-simple.css +0 -116
- package/dist/collection/components/widgets/pn-usp-simple/pn-usp-simple.js +0 -269
- package/dist/collection/components/widgets/pn-usp-simple/pn-usp-simple.js.map +0 -1
- package/dist/collection/components/widgets/pn-usp-simple/pn-usp-simple.stories.js +0 -63
- package/dist/collection/components/widgets/pn-usp-simple/pn-usp-simple.stories.js.map +0 -1
- package/dist/components/pn-marketweb-search2.js +0 -130
- package/dist/components/pn-marketweb-search2.js.map +0 -1
- package/dist/components/pn-search.d.ts +0 -11
- package/dist/components/pn-search.js +0 -91
- package/dist/components/pn-search.js.map +0 -1
- package/dist/components/pn-usp-simple.d.ts +0 -11
- package/dist/components/pn-usp-simple.js +0 -82
- package/dist/components/pn-usp-simple.js.map +0 -1
- package/dist/esm/pn-chat.service-f4037d6f.js.map +0 -1
- package/dist/esm/pn-search.entry.js +0 -50
- package/dist/esm/pn-search.entry.js.map +0 -1
- package/dist/esm/pn-usp-simple.entry.js +0 -52
- package/dist/esm/pn-usp-simple.entry.js.map +0 -1
- package/dist/pn-market-web-components/p-04107723.entry.js +0 -2
- package/dist/pn-market-web-components/p-04107723.entry.js.map +0 -1
- package/dist/pn-market-web-components/p-10776075.entry.js +0 -2
- package/dist/pn-market-web-components/p-10776075.entry.js.map +0 -1
- package/dist/pn-market-web-components/p-2fd60147.entry.js +0 -2
- package/dist/pn-market-web-components/p-2fd60147.entry.js.map +0 -1
- package/dist/pn-market-web-components/p-a079c496.js +0 -2
- package/dist/pn-market-web-components/p-a079c496.js.map +0 -1
- package/dist/pn-market-web-components/p-e733f44f.entry.js +0 -2
- package/dist/pn-market-web-components/p-e733f44f.entry.js.map +0 -1
- package/dist/types/components/widgets/pn-search/pn-search.d.ts +0 -29
- package/dist/types/components/widgets/pn-search/pn-search.stories.d.ts +0 -7
- package/dist/types/components/widgets/pn-usp-simple/pn-usp-simple.d.ts +0 -19
- package/dist/types/components/widgets/pn-usp-simple/pn-usp-simple.stories.d.ts +0 -7
- /package/dist/pn-market-web-components/{p-cc7c596e.entry.js.map → p-a298a263.entry.js.map} +0 -0
- /package/dist/pn-market-web-components/{p-f21311ad.entry.js.map → p-da56370b.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pn-chat.service.js","sourceRoot":"","sources":["../../../../src/components/widgets/pn-chat/pn-chat.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { FetchHelper } from '@/globals/FetchHelper';\nimport { ChatMessage, ChatMessages, MessageType } from './types';\nimport { ChatParameters, ChatStartParameters, ChatMessageParameters, ChatUpdateParameters, ChatLastMessageParameters } from './pn-chat.models';\n\nexport class PnChatService {\n private readonly _endpoint;\n private readonly _market;\n private readonly _language;\n private readonly _currentUrl;\n private fetchHelper = new FetchHelper('PnChatService');\n private readonly _startChatPath = `/api/sfchat/start-chat`;\n private readonly _fetchChatMessagesPath = `/api/sfchat/get-conversation-entries`;\n private readonly _sendTextPath = `/api/sfchat/send-text-message`;\n private readonly _sendChoicePath = `/api/sfchat/send-choice-message`;\n private readonly _updateLastMessagePath = `/api/sfchat/update-last-message-id`;\n private readonly _hasNewMessagesPath = `/api/sfchat/has-new-messages`;\n\n constructor(endpoint: string, market: string, language: string) {\n this._endpoint = this.formatEndpoint(endpoint);\n this._market = market;\n this._language = language;\n this._currentUrl = window.location.href;\n }\n\n async startChat(chatId: string, itemId: string): Promise<string> {\n let model: ChatStartParameters = \n {\n market: this._market,\n language: this._language,\n chatIdString: chatId,\n itemId: itemId,\n currentUrl: this._currentUrl\n };\n\n const fetchUrl = this._endpoint + this._startChatPath;\n const data = (await this.fetchHelper.fetchJson(\n fetchUrl,\n this.getRequestInit(model),\n false\n )) as string;\n\n return this.handleResponse<string>(data, chatId);\n }\n\n async fetchMessages(chatId: string, prevMessageData: ChatMessages) : Promise<ChatMessages> {\n if (!chatId) {\n return prevMessageData;\n }\n\n let model: ChatParameters = {\n market: this._market,\n language: this._language,\n chatIdString: chatId\n };\n\n const fetchUrl = this._endpoint + this._fetchChatMessagesPath;\n const data = (await this.fetchHelper.fetchJson(\n fetchUrl,\n this.getRequestInit(model),\n false,\n )) as string;\n\n if (!data) {\n return prevMessageData;\n }\n \n return this.handleResponse<ChatMessages>(data, prevMessageData);\n }\n\n async sendMessage(content : string, itemId : string, chatId: string, lastMessageId: string, messageType: MessageType) : Promise<string> {\n let newLatestMessageId;\n\n switch (messageType) {\n case 'Text':\n newLatestMessageId = await this.sendTextMessage(content, itemId, chatId, lastMessageId);\n break;\n case 'Choice':\n newLatestMessageId = await this.sendChoiceMessage(content, itemId, chatId, lastMessageId);\n break;\n default:\n newLatestMessageId = await this.sendTextMessage(content, itemId, chatId, lastMessageId);\n }\n\n if (!newLatestMessageId) {\n return lastMessageId;\n }\n\n if (newLatestMessageId.includes(\",\")) {\n newLatestMessageId = newLatestMessageId.substring(newLatestMessageId.lastIndexOf(\",\") + 1);\n }\n\n return newLatestMessageId;\n }\n\n async updateLastMessageId(chatId: string, lastMessageId: string) {\n let model: ChatLastMessageParameters = {\n chatIdString: chatId,\n latestMessageIdString: lastMessageId\n };\n\n const fetchUrl = this._endpoint + this._updateLastMessagePath;\n await this.fetchHelper.fetchJson(\n fetchUrl,\n this.getRequestInit(model),\n false,\n );\n }\n\n async hasNewMessages(itemId : string) : Promise<boolean> {\n let model: ChatStartParameters = {\n language: this._language,\n market: this._market,\n itemId: itemId,\n chatIdString: \"\",\n currentUrl: this._currentUrl\n };\n\n const fetchUrl = this._endpoint + this._hasNewMessagesPath;\n let data = await this.fetchHelper.fetchJson(\n fetchUrl,\n this.getRequestInit(model),\n false,\n ) as string;\n\n if (!data) {\n return false;\n }\n\n return JSON.parse(data) as boolean;\n }\n\n private async sendTextMessage(content : string, itemId : string, chatId: string, defaultReturn: string) : Promise<string> {\n if (!chatId || !content) {\n return defaultReturn;\n }\n\n let model: ChatMessageParameters = {\n market: this._market,\n language: this._language,\n chatIdString: chatId,\n content: content,\n itemId: itemId,\n currentUrl: this._currentUrl\n };\n\n const fetchUrl = this._endpoint + this._sendTextPath;\n const data = (await this.fetchHelper.fetchJson(\n fetchUrl,\n this.getRequestInit(model),\n false,\n )) as string;\n\n return this.handleResponse<string>(data, defaultReturn)?.id ?? defaultReturn;\n }\n\n private async sendChoiceMessage(content : string, itemId : string, chatId: string, defaultReturn: string) : Promise<string> {\n if (!chatId || !content) {\n return defaultReturn;\n }\n\n let model: ChatMessageParameters = \n {\n market: this._market,\n language: this._language,\n chatIdString: chatId,\n content: content,\n itemId: itemId,\n currentUrl: this._currentUrl\n };\n\n const fetchUrl = this._endpoint + this._sendChoicePath;\n const data = (await this.fetchHelper.fetchJson(\n fetchUrl,\n this.getRequestInit(model),\n false,\n )) as string;\n\n return this.handleResponse<string>(data, defaultReturn)?.id ?? defaultReturn;\n }\n\n private formatEndpoint(endpoint: string) : string {\n return endpoint.lastIndexOf('/') === endpoint.length - 1 ? endpoint.substring(0, endpoint.length - 1) : endpoint;\n }\n\n private handleResponse<T>(data : any, defaultReturn : any, checkForArray: boolean = false) {\n if (!data) {\n return defaultReturn;\n }\n\n let parsedData = JSON.parse(data) as T;\n if (!parsedData || checkForArray && !Array.isArray(parsedData)) {\n return defaultReturn;\n }\n\n return parsedData;\n }\n \n private getRequestInit(model: any, method: string = 'POST', mode: RequestMode = 'cors', contentTypes: string = 'application/json'): RequestInit {\n return {\n mode: mode,\n method: method,\n headers: \n {\n 'Content-Type': contentTypes,\n 'CustomValidateAntiForgeryToken': \"01001101010001010100111101010111\"\n },\n body: JSON.stringify(model)\n };\n }\n\n GetLastMessageId(messages : ChatMessage[], lastMessageId : string) {\n return messages?.at(-1)?.messageId ?? lastMessageId;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"pn-chat.service.js","sourceRoot":"","sources":["../../../../src/components/widgets/pn-chat/pn-chat.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { FetchHelper } from '@/globals/FetchHelper';\nimport { ChatMessage, ChatMessages, MessageType } from './types';\nimport { ChatParameters, ChatStartParameters, ChatMessageParameters, ChatUpdateParameters, ChatLastMessageParameters } from './pn-chat.models';\n\nexport class PnChatService {\n private readonly _endpoint;\n private readonly _market;\n private readonly _language;\n private readonly _currentUrl;\n private fetchHelper = new FetchHelper('PnChatService');\n private readonly _startChatPath = `/api/sfchat/start-chat`;\n private readonly _fetchChatMessagesPath = `/api/sfchat/get-conversation-entries`;\n private readonly _sendTextPath = `/api/sfchat/send-text-message`;\n private readonly _sendChoicePath = `/api/sfchat/send-choice-message`;\n private readonly _updateLastMessagePath = `/api/sfchat/update-last-message-id`;\n private readonly _hasNewMessagesPath = `/api/sfchat/has-new-messages`;\n\n constructor(endpoint: string, market: string, language: string) {\n this._endpoint = this.formatEndpoint(endpoint);\n this._market = market;\n this._language = language;\n this._currentUrl = window.location.href;\n }\n\n async startChat(chatId: string, itemId: string): Promise<string> {\n let model: ChatStartParameters = \n {\n market: this._market,\n language: this._language,\n chatIdString: chatId,\n itemId: itemId,\n currentUrl: this._currentUrl\n };\n\n const fetchUrl = this._endpoint + this._startChatPath;\n const data = (await this.fetchHelper.fetchJson(\n fetchUrl,\n this.getRequestInit(model),\n false\n )) as string;\n\n return this.handleResponse<string>(data, chatId);\n }\n\n async fetchMessages(chatId: string, prevMessageData: ChatMessages) : Promise<ChatMessages> {\n if (!chatId) {\n return prevMessageData;\n }\n\n let model: ChatParameters = {\n market: this._market,\n language: this._language,\n chatIdString: chatId\n };\n\n const fetchUrl = this._endpoint + this._fetchChatMessagesPath;\n const data = (await this.fetchHelper.fetchJson(\n fetchUrl,\n this.getRequestInit(model),\n false,\n )) as string;\n\n if (!data) {\n return prevMessageData;\n }\n \n return this.handleResponse<ChatMessages>(data, prevMessageData);\n }\n\n async sendMessage(content : string, itemId : string, chatId: string, lastMessageId: string, messageType: MessageType) : Promise<string> {\n let newLatestMessageId;\n\n switch (messageType) {\n case 'Choice':\n newLatestMessageId = await this.sendChoiceMessage(content, itemId, chatId, lastMessageId);\n break;\n default:\n newLatestMessageId = await this.sendTextMessage(content, itemId, chatId, lastMessageId);\n break;\n }\n\n if (!newLatestMessageId) {\n return lastMessageId;\n }\n\n if (newLatestMessageId.includes(\",\")) {\n newLatestMessageId = newLatestMessageId.substring(newLatestMessageId.lastIndexOf(\",\") + 1);\n }\n\n return newLatestMessageId;\n }\n\n async updateLastMessageId(chatId: string, lastMessageId: string) {\n let model: ChatLastMessageParameters = {\n chatIdString: chatId,\n latestMessageIdString: lastMessageId\n };\n\n const fetchUrl = this._endpoint + this._updateLastMessagePath;\n await this.fetchHelper.fetchJson(\n fetchUrl,\n this.getRequestInit(model),\n false,\n );\n }\n\n async hasNewMessages(itemId : string) : Promise<boolean> {\n let model: ChatStartParameters = {\n language: this._language,\n market: this._market,\n itemId: itemId,\n chatIdString: \"\",\n currentUrl: this._currentUrl\n };\n\n const fetchUrl = this._endpoint + this._hasNewMessagesPath;\n let data = await this.fetchHelper.fetchJson(\n fetchUrl,\n this.getRequestInit(model),\n false,\n ) as string;\n\n if (!data) {\n return false;\n }\n\n return JSON.parse(data) as boolean;\n }\n\n private async sendTextMessage(content : string, itemId : string, chatId: string, defaultReturn: string) : Promise<string> {\n if (!chatId || !content) {\n return defaultReturn;\n }\n\n let model: ChatMessageParameters = {\n market: this._market,\n language: this._language,\n chatIdString: chatId,\n content: content,\n itemId: itemId,\n currentUrl: this._currentUrl\n };\n\n const fetchUrl = this._endpoint + this._sendTextPath;\n const data = (await this.fetchHelper.fetchJson(\n fetchUrl,\n this.getRequestInit(model),\n false,\n )) as string;\n\n return this.handleResponse<string>(data, defaultReturn)?.id ?? defaultReturn;\n }\n\n private async sendChoiceMessage(content : string, itemId : string, chatId: string, defaultReturn: string) : Promise<string> {\n if (!chatId || !content) {\n return defaultReturn;\n }\n\n let model: ChatMessageParameters = \n {\n market: this._market,\n language: this._language,\n chatIdString: chatId,\n content: content,\n itemId: itemId,\n currentUrl: this._currentUrl\n };\n\n const fetchUrl = this._endpoint + this._sendChoicePath;\n const data = (await this.fetchHelper.fetchJson(\n fetchUrl,\n this.getRequestInit(model),\n false,\n )) as string;\n\n return this.handleResponse<string>(data, defaultReturn)?.id ?? defaultReturn;\n }\n\n private formatEndpoint(endpoint: string) : string {\n return endpoint.lastIndexOf('/') === endpoint.length - 1 ? endpoint.substring(0, endpoint.length - 1) : endpoint;\n }\n\n private handleResponse<T>(data : any, defaultReturn : any, checkForArray: boolean = false) {\n if (!data) {\n return defaultReturn;\n }\n\n let parsedData = JSON.parse(data) as T;\n if (!parsedData || checkForArray && !Array.isArray(parsedData)) {\n return defaultReturn;\n }\n\n return parsedData;\n }\n \n private getRequestInit(model: any, method: string = 'POST', mode: RequestMode = 'cors', contentTypes: string = 'application/json'): RequestInit {\n return {\n mode: mode,\n method: method,\n headers: \n {\n 'Content-Type': contentTypes,\n 'CustomValidateAntiForgeryToken': \"01001101010001010100111101010111\"\n },\n body: JSON.stringify(model)\n };\n }\n\n GetLastMessageId(messages : ChatMessage[], lastMessageId : string) {\n return messages?.at(-1)?.messageId ?? lastMessageId;\n }\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { styleSample } from "./pn-chat-stories-constants";
|
|
2
2
|
import { createDocumentation, createComponent } from "../../../globals/documentation/story";
|
|
3
3
|
import docs from "./pn-chat-docs.json";
|
|
4
4
|
const { argTypes, textContent } = createDocumentation(docs);
|
|
@@ -30,7 +30,7 @@ const meta = {
|
|
|
30
30
|
waitingForAnswerLabel: 'Waiting for answer',
|
|
31
31
|
carouselSlidesToShow: 1.5,
|
|
32
32
|
loadingText: 'Loading chat',
|
|
33
|
-
messages:
|
|
33
|
+
messages: "",
|
|
34
34
|
closeChatAriaLabel: "Close chat",
|
|
35
35
|
},
|
|
36
36
|
argTypes,
|
|
@@ -54,7 +54,7 @@ export const ChatBusiness = {
|
|
|
54
54
|
},
|
|
55
55
|
args: {
|
|
56
56
|
customerSegment: 'Business',
|
|
57
|
-
messages:
|
|
57
|
+
messages: ""
|
|
58
58
|
},
|
|
59
59
|
};
|
|
60
60
|
export const ChatRealSFIntegration = {
|
|
@@ -82,7 +82,7 @@ export const ChatRealSFIntegration = {
|
|
|
82
82
|
waitingForAnswerLabel: 'Waiting for answer',
|
|
83
83
|
carouselSlidesToShow: 1.5,
|
|
84
84
|
loadingText: 'Loading chat',
|
|
85
|
-
messages:
|
|
85
|
+
messages: ""
|
|
86
86
|
},
|
|
87
87
|
};
|
|
88
88
|
export const ChatNoFakeResponse = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pn-chat.stories.js","sourceRoot":"","sources":["../../../../src/components/widgets/pn-chat/pn-chat.stories.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"pn-chat.stories.js","sourceRoot":"","sources":["../../../../src/components/widgets/pn-chat/pn-chat.stories.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Meta, StoryObj } from '@storybook/web-components';\nimport { styleSample } from './pn-chat-stories-constants'\nimport { createDocumentation, createComponent } from '@/globals/documentation/story';\nimport docs from './pn-chat-docs.json';\n\nconst { argTypes, textContent } = createDocumentation(docs);\n\nconst meta: Meta<HTMLPnChatElement> = {\n title: 'Components/Widgets/Chat',\n parameters: {\n actions: {},\n docs: {\n description: {\n story: textContent,\n },\n },\n },\n args: {\n endpoint: 'https://localhost:51547/chat',\n language: 'sv',\n customerSegment: 'Private',\n mainHeading: 'PostNord Chat',\n sendButtonText: 'Send',\n relatedContentAriaLabel: 'Related',\n chatMinimizedAriaLabel: 'Chat minimized',\n chatOpenedAriaLabel: 'Chat opened',\n minimizeChatAriaLabel: 'Minimize chat',\n openChatAriaLabel: 'Open chat',\n chatControlsAriaLabel: 'Navigation controls',\n writeChatMessagePlaceholder: 'Write chat message',\n chatMessagesAriaLabel: 'Chat messages',\n sentMessageAriaLabel: 'Message sent',\n waitingForAnswerLabel: 'Waiting for answer',\n carouselSlidesToShow: 1.5,\n loadingText: 'Loading chat',\n messages: \"\",\n closeChatAriaLabel: \"Close chat\",\n },\n argTypes,\n};\n\ntype Story = StoryObj<HTMLPnChatElement>;\n\nexport default meta;\n\nexport const Chat: Story = {\n name: 'Chat - Private',\n render: args => {\n const component = createComponent('pn-chat', args);\n return component;\n },\n};\n\nexport const ChatBusiness: Story = {\n name: 'Chat - Business',\n render: args => {\n const component = createComponent('pn-chat', args);\n const customStyle = document.createElement('style');\n customStyle.innerHTML = styleSample;\n component.prepend(customStyle);\n return component;\n },\n args: {\n customerSegment: 'Business',\n messages: \"\"\n },\n};\n\nexport const ChatRealSFIntegration: Story = {\n name: 'Chat - Real SF - integration',\n render: args => {\n const component = createComponent('pn-chat', args);\n const customStyle = document.createElement('style');\n customStyle.innerHTML = styleSample;\n component.prepend(customStyle);\n return component;\n }, args: {\n endpoint: 'https://se-inte.postnord.com/',\n customerSegment: 'Private',\n mainHeading: 'PostNord Chat real SF',\n sendButtonText: 'Send',\n relatedContentAriaLabel: 'Related',\n chatMinimizedAriaLabel: 'Chat minimized',\n chatOpenedAriaLabel: 'Chat opened',\n minimizeChatAriaLabel: 'Minimize chat',\n openChatAriaLabel: 'Open chat',\n chatControlsAriaLabel: 'Navigation controls',\n writeChatMessagePlaceholder: 'Write chat message',\n chatMessagesAriaLabel: 'Chat messages',\n sentMessageAriaLabel: 'Message sent',\n waitingForAnswerLabel: 'Waiting for answer',\n carouselSlidesToShow: 1.5,\n loadingText: 'Loading chat',\n messages: \"\"\n },\n};\n\nexport const ChatNoFakeResponse: Story = {\n name: 'Chat - super Empty, loading icon',\n render: args => {\n const component = createComponent('pn-chat', args);\n const customStyle = document.createElement('style');\n customStyle.innerHTML = styleSample;\n component.prepend(customStyle);\n return component;\n },\n args: {\n messages: '',\n endpoint: 'https://localhost:51547/',\n customerSegment: 'Private',\n mainHeading: 'PostNord Chat Loading icon',\n sendButtonText: 'Send',\n relatedContentAriaLabel: 'Related',\n chatMinimizedAriaLabel: 'Chat minimized',\n chatOpenedAriaLabel: 'Chat opened',\n minimizeChatAriaLabel: 'Minimize chat',\n openChatAriaLabel: 'Open chat',\n chatControlsAriaLabel: 'Navigation controls',\n writeChatMessagePlaceholder: 'Write chat message',\n chatMessagesAriaLabel: 'Chat messages',\n sentMessageAriaLabel: 'Message sent',\n waitingForAnswerLabel: 'Waiting for answer',\n loadingText: 'Loading chat',\n },\n};\n"]}
|
|
@@ -96,6 +96,7 @@ pn-button-dropdown .pn-button-dropdown > pn-button > .pn-button {
|
|
|
96
96
|
width: 100%;
|
|
97
97
|
border-collapse: collapse;
|
|
98
98
|
margin-bottom: 3.2rem;
|
|
99
|
+
border: none;
|
|
99
100
|
}
|
|
100
101
|
.pn-marketweb-table .pn-marketweb-table__table tr {
|
|
101
102
|
border-bottom: 1px solid #e9e6e5;
|
|
@@ -141,6 +142,7 @@ pn-button-dropdown .pn-button-dropdown > pn-button > .pn-button {
|
|
|
141
142
|
}
|
|
142
143
|
.pn-marketweb-table .actions {
|
|
143
144
|
align-content: center;
|
|
145
|
+
width: 20%;
|
|
144
146
|
}
|
|
145
147
|
.pn-marketweb-table .actions .button-wrapper {
|
|
146
148
|
display: flex;
|
|
@@ -148,15 +150,22 @@ pn-button-dropdown .pn-button-dropdown > pn-button > .pn-button {
|
|
|
148
150
|
justify-content: flex-end;
|
|
149
151
|
gap: 1.6rem;
|
|
150
152
|
}
|
|
153
|
+
.pn-marketweb-table .actions .button-wrapper pn-button {
|
|
154
|
+
min-width: 50%;
|
|
155
|
+
}
|
|
156
|
+
.pn-marketweb-table .actions .button-wrapper pn-button.toggle-widget {
|
|
157
|
+
min-width: 30%;
|
|
158
|
+
}
|
|
151
159
|
.pn-marketweb-table .actions .button-wrapper .pn-button-text {
|
|
152
160
|
white-space: nowrap;
|
|
153
161
|
}
|
|
154
162
|
@media screen and (max-width: 768px) {
|
|
155
163
|
.pn-marketweb-table .actions .button-wrapper {
|
|
156
164
|
justify-content: space-between;
|
|
165
|
+
flex-direction: column;
|
|
157
166
|
}
|
|
158
167
|
}
|
|
159
|
-
@media screen and (max-width:
|
|
168
|
+
@media screen and (max-width: 768px) {
|
|
160
169
|
.pn-marketweb-table tr {
|
|
161
170
|
display: flex;
|
|
162
171
|
flex-wrap: wrap;
|
|
@@ -207,7 +207,7 @@ export class PnMarketWebTable {
|
|
|
207
207
|
renderActionButtons(row) {
|
|
208
208
|
if (!row.actionButtons)
|
|
209
209
|
return null;
|
|
210
|
-
return (h("td", { class: "actions", role: "cell" }, h("div", { class: "button-wrapper", role: "group", "aria-label": this.tableRowCtaActionLabel, "data-label": this.i18n.newMessage }, row.actionButtons.map(btn => (h("pn-button", { appearance: btn.appearance, class: btn.class, variant: btn.variant, small: btn.small, loading: btn.loading, icon: btn.icon, leftIcon: btn.leftIcon, tooltip: btn.tooltip, href: btn.href, rel: btn.rel, download: btn.download, form: btn.form, buttonId: btn.buttonId, "data-chat": btn.customAttribute }, btn.content))))));
|
|
210
|
+
return (h("td", { class: "actions", role: "cell" }, h("div", { class: "button-wrapper", role: "group", "aria-label": this.tableRowCtaActionLabel, "data-label": this.i18n.newMessage }, row.actionButtons.map(btn => (h("pn-button", { appearance: btn.appearance, class: btn.class, variant: btn.variant, small: btn.small, loading: btn.loading, icon: btn.icon, leftIcon: btn.leftIcon, tooltip: btn.tooltip, href: btn.href, rel: btn.rel, download: btn.download, form: btn.form, buttonId: btn.buttonId, "icon-only": btn.iconOnly, arialabel: btn.content, "data-chat": btn.customAttribute }, btn.content))))));
|
|
211
211
|
}
|
|
212
212
|
async OpenChatEvent(aTags) {
|
|
213
213
|
aTags.forEach((aTag) => {
|
|
@@ -249,7 +249,7 @@ export class PnMarketWebTable {
|
|
|
249
249
|
render() {
|
|
250
250
|
const tableId = `table-${Math.random().toString(36)}`;
|
|
251
251
|
const headingId = `${tableId}-main-heading`;
|
|
252
|
-
return (h(Host, { key: '
|
|
252
|
+
return (h(Host, { key: '98283a658faabafcb813eeb447c4bc406f05f18c', language: this.language }, h("div", { key: 'baea729e089500c3c99757e4e614f9f710000603', class: 'pn-marketweb-table' }, h("div", { key: 'ef40e29179a3d9f380360ed54099e5724d4368df', role: 'region', "aria-labelledby": this.mainHeading ? headingId : undefined }, h("div", { key: '61c96ab70681a3ec976c94f385c9d4136d73cb8e', class: 'heading-section' }, h("div", { key: '4ed87bda71059736a9d0dbe8a55d89a34a81a89c', class: 'heading-wrapper' }, this.mainHeading && (h(HeadingTag, { key: '0ef856c0259011be63c5b6a169bd69285ee09c13', level: this.mainHeadingLevel, cssClass: 'main-heading', id: headingId }, this.mainHeading)), this.preamble && (h("div", { key: '9eb7c8d520843e331a2ec77bc434a135d82c4699', class: "preamble-section" }, this.preamble)))), this._rows.length > 0 && (h("table", { key: '6346e44c176d834b2fe66dea162c5976fae61441', class: 'pn-marketweb-table__table', "aria-labelledby": this.mainHeading ? `${tableId}-main-heading` : undefined }, this._headers && (h("thead", { key: '92d29b69db5ca91664df5dd9ee3fb7b9c3fc97bb', class: this.showHeadersInCells ? 'sr-only' : undefined }, h("tr", { key: 'fa3d3ec4062835a13f6292a70e37559e7ba90fb7' }, this._rows.some((row) => row.imageUrl) && this.imageColAriaHeader && (h("th", { key: '5d2e43ee1cd03b1a722ee5ae9594226500c0fbe3', scope: 'col', class: 'sr-only' }, this.imageColAriaHeader)), this._headers.map((header) => (h("th", { key: header.key, scope: 'col', class: 'sr-only-mobile' }, header.label))), this._rows.some((row) => row.link1 || row.link2) && this.ctaColAriaHeader && (h("th", { key: '07356d07d91450352ea9a425286e1f9876e2e578', scope: 'col', class: 'sr-only' }, this.ctaColAriaHeader))))), h("tbody", { key: '3b0357be0ffccef7e768d055379f75a8fdd1b6e7', class: "pn-marketweb-table__table-body" }, this._rows.slice(0, this.shipmentCount).map((row, rowIndex) => (h("tr", { key: rowIndex, class: `cell-row ${row.hasNewMessages ? "row-new-message" : ''}` }, row.imageUrl && (h("td", { class: 'cell-image' }, h("div", { class: 'image-container' }, h("img", { src: row.imageUrl, alt: '', class: 'row-image' })))), this._headers.map((header) => (h("td", { key: `${rowIndex}-${header.key}`, class: 'cell-content' }, this.renderCell(header, row)))), this.renderActionButtons(row))))))), this.shipmentCount > this._rows.length && (h("div", { key: 'ff1ab5516f505a6315a45e60275e0ca1167840f1', class: "pn-market-table__show-more-wrapper" }, h("pn-button", { key: 'c34362a272f682e5e7a2f9bb6498d1713afcf6fa', variant: "outlined", appearance: "light", label: this.i18n?.showMoreLabel || 'Show More', onClick: () => this.handleShowMore() })))))));
|
|
253
253
|
}
|
|
254
254
|
static get is() { return "pn-marketweb-table"; }
|
|
255
255
|
static get originalStyleUrls() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pn-marketweb-table.js","sourceRoot":"","sources":["../../../../src/components/widgets/pn-marketweb-table/pn-marketweb-table.tsx"],"names":[],"mappings":"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","sourcesContent":["import { HeadingTag } from '@/globals/HeadingTag';\nimport { Component, Host, Prop, h, State, Fragment, Watch } from '@stencil/core';\nimport { ScreenWidth, ScreenWidthInfo, DEFAULT_BREAKPOINTS } from '@/globals/ScreensizeDetect';\nimport { HeadingLevel } from '@/globals/types';\nimport { angle_down, angle_up } from 'pn-design-assets/pn-assets/icons.js';\nimport { JSX } from 'react';\nimport { PnChatService } from '../pn-chat/pn-chat.service';\nimport { HeaderConfig, TableRowData, TableRowi18n } from './types'\nimport { translations } from './translations';\nimport { MarketwebTableService } from './pn-marketweb-table.service';\n\n@Component({\n tag: 'pn-marketweb-table',\n styleUrl: 'pn-marketweb-table.scss',\n})\nexport class PnMarketWebTable {\n @Prop() mainHeading?: string;\n @Prop() mainHeadingLevel: HeadingLevel = 'h2';\n @Prop() preamble: string\n @Prop() subHeadingLevel: HeadingLevel = 'h3';\n @Prop() headers!: string | HeaderConfig[];\n @Prop() rows!: string | TableRowData[];\n @Prop() showHeadersInCells: boolean = false;\n @Prop() cellHeaderLevel: HeadingLevel = 'h3';\n @Prop() tableRowCtaActionLabel: string;\n @Prop() imageColAriaHeader: string;\n @Prop() ctaColAriaHeader: string;\n @Prop() checkForNewShipments: boolean = false;\n @Prop() endpoint: string;\n @Prop() language: string = 'sv';\n @Prop() market: string;\n @Prop() toggleDetailLabel: string = 'View details';\n @Prop() checkForChat: boolean = false;\n @Prop({ reflect: true, mutable: true }) value: string = '';\n @Prop() shipmentType!: string;\n @Prop() contentId: string = '';\n @Prop() takeAmountRow: number = 2;\n @Prop() shipmentCount: number = 2;\n\n @State() i18n: TableRowi18n;\n @State() private _headers: HeaderConfig[] = [];\n @State() private _rows: TableRowData[] = [];\n @State() private _allKeys: Set<string> = new Set();\n @State() private screenInfo?: ScreenWidthInfo;\n\n private screenWidth = ScreenWidth.getInstance();\n private cleanup?: () => void;\n private _chatService: PnChatService;\n private _chatSegment: string = \"#chat\";\n private _marketwebTableService: MarketwebTableService;\n\n componentWillLoad(): void {\n this.setInitialValues();\n this.setTranslations();\n this._marketwebTableService = new MarketwebTableService(this.endpoint, this.language);\n\n this.cleanup = this.screenWidth.subscribe(info => {\n this.screenInfo = info;\n });\n\n if (this.checkForNewShipments) {\n this._chatService = new PnChatService(this.endpoint, this.market, this.language);\n setInterval(() => {\n this.checkForNewMessages();\n }, 60000);\n }\n }\n\n setTranslations() {\n if (translations[this.language]) {\n this.i18n = translations[this.language] as TableRowi18n;\n }\n else {\n const fallbackLang = 'sv';\n this.i18n = translations[fallbackLang] as TableRowi18n;\n }\n }\n\n @Watch('language')\n onLanguageChange() {\n this.setTranslations();\n }\n\n async componentDidLoad() {\n if (this.checkForChat) {\n const thisTable = document.querySelector('pn-marketweb-table.' + this.shipmentType);\n const chatHrefs = thisTable.querySelectorAll('[href*=\"#chat\"]');\n const openChatATags: HTMLAnchorElement[] = Array.from(chatHrefs).filter(\n (el): el is HTMLAnchorElement => el instanceof HTMLAnchorElement\n );\n this.OpenChatEvent(openChatATags);\n }\n }\n\n componentDidRender() {\n const thisTable = document.querySelector('pn-marketweb-table[shipment-type=' + this.shipmentType + ']');\n const toggleButtons = thisTable?.querySelectorAll('pn-button.toggle-widget');\n toggleButtons?.forEach(pnButton => {\n const btnText = pnButton.querySelector('.pn-button-text');\n if (btnText && btnText.innerHTML !== this.i18n.toggleButtonOn) {\n btnText.innerHTML = this.i18n.toggleButtonOn;\n }\n const button = pnButton.querySelector('button');\n if (button && !button.hasAttribute('data-toggle-initialized')) {\n button.addEventListener('click', this.toggleButton.bind(this));\n button.setAttribute('data-toggle-initialized', 'true');\n }\n });\n }\n\n private toggleButton(event) {\n const button = event.currentTarget as HTMLButtonElement;\n const parentRow = button.closest('tr');\n const parentPnButton = button.closest('pn-button');\n\n const isActive = parentRow.classList.contains(\"shipment-id-active\");\n\n const existingWidgetRows = document.querySelectorAll('.widget-row');\n existingWidgetRows.forEach(row => row.remove());\n\n const allRows = document.querySelectorAll('tr');\n allRows.forEach(row => row.classList.remove(\"shipment-id-active\"));\n\n const allPnButtons = document.querySelectorAll('pn-button.toggle-widget');\n allPnButtons.forEach(pnBtn => {\n pnBtn.setAttribute('icon', angle_down);\n pnBtn.querySelector('.pn-button-text').innerHTML = this.i18n.toggleButtonOn;\n });\n\n if (isActive) {\n return;\n }\n button.querySelector('.pn-button-text').innerHTML = this.i18n.toggleButtonOff;\n parentRow.classList.add(\"shipment-id-active\");\n\n const widgetRow = document.createElement('tr');\n widgetRow.classList.add('widget-row');\n\n const tdElement = document.createElement('td');\n tdElement.colSpan = parentRow.children.length;\n\n const divEl = document.createElement('div');\n divEl.classList.add('pn-widget-wrapper');\n\n const widget = document.createElement('pn-widget');\n widget.setAttribute('locale', this.language);\n widget.setAttribute('shipment-id', button.id);\n\n divEl.appendChild(widget);\n tdElement.appendChild(divEl);\n widgetRow.appendChild(tdElement);\n\n parentRow.parentNode.insertBefore(widgetRow, parentRow.nextSibling);\n\n parentPnButton.setAttribute('icon', angle_up);\n }\n\n private handleShowMore = async () => {\n let skip = this._rows.length;\n let data = await this._marketwebTableService.getUserShipments(this.contentId, skip, this.takeAmountRow, this.checkForChat);\n if (data) {\n this._rows = [...this._rows, ...data];\n }\n };\n\n async waitForComponent(selector: string, maxRetries = 10, delay = 300): Promise<HTMLElement | null> {\n for (let i = 0; i < maxRetries; i++) {\n const element = document.querySelector(selector);\n if (element) {\n return element as HTMLElement;\n }\n await new Promise(resolve => setTimeout(resolve, delay));\n }\n return null;\n }\n\n disconnectedCallback(): void {\n if (this.cleanup) {\n this.cleanup();\n }\n }\n\n private async checkForNewMessages() {\n for (let i = 0; i < this._rows.length; i++) {\n const row = this._rows[i];\n const itemId = row.id;\n\n if (itemId) {\n const hasNewMessages = await this._chatService.hasNewMessages(itemId);\n\n if (row.hasNewMessages !== hasNewMessages) {\n this._rows[i] = { ...row, hasNewMessages: hasNewMessages };\n }\n }\n }\n\n this._rows = [...this._rows];\n }\n\n private setInitialValues(): void {\n try {\n this.parseRows();\n this.parseHeaders();\n\n } catch (error) {\n console.error('Error parsing table data:', error);\n this._rows = [];\n this._headers = [];\n }\n }\n\n private parseRows() {\n this._rows = typeof this.rows === 'string' ? JSON.parse(this.rows) : this.rows;\n this._allKeys = new Set(this._rows.flatMap(row => Object.keys(row)));\n }\n\n private parseHeaders() {\n if (typeof this.headers === 'string') {\n this._headers = JSON.parse(this.headers);\n } else if (this.headers) {\n this._headers = this.headers;\n } else {\n this._headers = Array.from(this._allKeys).map(key => ({ key, label: key }));\n }\n }\n\n private renderCellContent(header: HeaderConfig, row: TableRowData): JSX.Element | string | number | boolean {\n const content = header.render ? header.render(row) : row[header.key] ?? '-';\n return content;\n }\n\n private renderCell(header: HeaderConfig, row: TableRowData): JSX.Element {\n const content = this.renderCellContent(header, row);\n\n if (this.showHeadersInCells || this.screenInfo.width <= DEFAULT_BREAKPOINTS.tablet) {\n return (\n <div class=\"cell-content\" role=\"cell\">\n <HeadingTag\n level={this.cellHeaderLevel}\n cssClass=\"cell-heading\"\n additionalProps={{\n 'aria-hidden': 'true',\n 'role': 'presentation',\n }}\n >\n {header.label}\n </HeadingTag>\n <span class=\"cell-value\">{content}</span>\n </div>\n );\n }\n\n return <>{content}</>;\n }\n\n private handleToggleClick = () => {\n const areaToggle = document.querySelector('.trackandtracewidgetblock');\n if (areaToggle?.parentElement) {\n areaToggle.parentElement.classList.toggle('hideRow');\n }\n };\n\n private renderActionButtons(row: TableRowData): JSX.Element | null {\n if (!row.actionButtons) return null;\n\n return (\n <td class=\"actions\" role=\"cell\">\n <div class=\"button-wrapper\" role=\"group\" aria-label={this.tableRowCtaActionLabel} data-label={this.i18n.newMessage}>\n {row.actionButtons.map(btn => (\n <pn-button\n appearance={btn.appearance}\n class={btn.class}\n variant={btn.variant}\n small={btn.small}\n loading={btn.loading}\n icon={btn.icon}\n leftIcon={btn.leftIcon}\n tooltip={btn.tooltip}\n href={btn.href}\n rel={btn.rel}\n download={btn.download}\n form={btn.form}\n buttonId={btn.buttonId}\n data-chat={btn.customAttribute}>\n {btn.content}\n </pn-button>\n ))}\n </div>\n </td>\n );\n }\n\n private async OpenChatEvent(aTags: HTMLAnchorElement[]) {\n aTags.forEach((aTag) => {\n aTag.addEventListener(\"click\", (e) => {\n e.preventDefault();\n const previousLocationHash = window?.location?.hash ?? \"\";\n\n const findShipmentIdInUrlRegex = /#chat:([a-zA-Z0-9]+)(?=#|$)/;\n const match = aTag.href.match(findShipmentIdInUrlRegex);\n const shipmentId = match ? match[1] : \"\";\n const shipmentHash = `${this._chatSegment}:${shipmentId}`;\n window.location.hash = shipmentHash;\n\n this.waitForComponent('pn-chat').then((chat) => {\n if (shipmentId) {\n chat.setAttribute('item-id', shipmentId);\n }\n else {\n chat.setAttribute('item-id', \"\");\n }\n\n let oldInitChatId = chat.getAttribute('pn-chat-id');\n\n const _defaultChatId = \"00000000-0000-0000-0000-000000000000\";\n const _defaultAlternativeChatId = \"1\";\n const _defaultTriggerChatId = oldInitChatId === _defaultChatId ? _defaultAlternativeChatId : _defaultChatId;\n let chatId = _defaultTriggerChatId;\n const reversedChatId = aTag?.parentElement?.getAttribute('data-chat');\n\n if (reversedChatId) {\n chatId = reversedChatId.split('').reverse().join('');\n }\n\n chat.setAttribute('is-logged-in', 'true');\n chat.setAttribute('pn-chat-id', chatId);\n\n if (previousLocationHash.includes(shipmentHash)) {\n let forceOpen = chat.getAttribute('force-open') ?? 'true';\n forceOpen = forceOpen === 'true' ? 'false' : 'true';\n chat.setAttribute('force-open', forceOpen);\n }\n });\n });\n });\n }\n\n render() {\n const tableId = `table-${Math.random().toString(36)}`;\n const headingId = `${tableId}-main-heading`;\n\n return (\n <Host language={this.language}>\n <div class='pn-marketweb-table'>\n <div role='region' aria-labelledby={this.mainHeading ? headingId : undefined}>\n <div class='heading-section'>\n <div class='heading-wrapper'>\n {this.mainHeading && (\n <HeadingTag level={this.mainHeadingLevel} cssClass='main-heading' id={headingId}>\n {this.mainHeading}\n </HeadingTag>\n )}\n {this.preamble && (\n <div class=\"preamble-section\">{this.preamble}</div>\n )}\n </div>\n </div>\n {this._rows.length > 0 && (\n <table class='pn-marketweb-table__table' aria-labelledby={this.mainHeading ? `${tableId}-main-heading` : undefined}>\n {this._headers && (\n <thead class={this.showHeadersInCells ? 'sr-only' : undefined} >\n <tr >\n {this._rows.some((row) => row.imageUrl) && this.imageColAriaHeader && (\n <th scope='col' class='sr-only'>\n {this.imageColAriaHeader}\n </th>\n )}\n {this._headers.map((header) => (\n <th key={header.key} scope='col' class='sr-only-mobile'>\n {header.label}\n </th>\n ))}\n {this._rows.some((row) => row.link1 || row.link2) && this.ctaColAriaHeader && (\n <th scope='col' class='sr-only'>\n {this.ctaColAriaHeader}\n </th>\n )}\n </tr>\n </thead>\n )}\n <tbody>\n {this._rows.slice(0, this.shipmentCount).map((row, rowIndex) => (\n <tr key={rowIndex} class={row.hasNewMessages ? \"row-new-message\" : null}>\n {row.imageUrl && (\n <td class='cell-image'>\n <div class='image-container'>\n <img src={row.imageUrl} alt='' class='row-image' />\n </div>\n </td>\n )}\n {this._headers.map((header) => (\n <td key={`${rowIndex}-${header.key}`} class='cell-content' >\n {this.renderCell(header, row)}\n </td>\n ))}\n {this.renderActionButtons(row)}\n </tr>\n ))}\n </tbody>\n </table>\n )}\n {this.shipmentCount > this._rows.length && (\n <div class=\"pn-market-table__show-more-wrapper\">\n <pn-button variant=\"outlined\" appearance=\"light\" label={this.i18n?.showMoreLabel || 'Show More'} onClick={() => this.handleShowMore()}></pn-button>\n </div>\n )}\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"pn-marketweb-table.js","sourceRoot":"","sources":["../../../../src/components/widgets/pn-marketweb-table/pn-marketweb-table.tsx"],"names":[],"mappings":"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","sourcesContent":["import { HeadingTag } from '@/globals/HeadingTag';\nimport { Component, Host, Prop, h, State, Fragment, Watch } from '@stencil/core';\nimport { ScreenWidth, ScreenWidthInfo, DEFAULT_BREAKPOINTS } from '@/globals/ScreensizeDetect';\nimport { HeadingLevel } from '@/globals/types';\nimport { angle_down, angle_up } from 'pn-design-assets/pn-assets/icons.js';\nimport { JSX } from 'react';\nimport { PnChatService } from '../pn-chat/pn-chat.service';\nimport { HeaderConfig, TableRowData, TableRowi18n } from './types'\nimport { translations } from './translations';\nimport { MarketwebTableService } from './pn-marketweb-table.service';\n\n@Component({\n tag: 'pn-marketweb-table',\n styleUrl: 'pn-marketweb-table.scss',\n})\nexport class PnMarketWebTable {\n @Prop() mainHeading?: string;\n @Prop() mainHeadingLevel: HeadingLevel = 'h2';\n @Prop() preamble: string\n @Prop() subHeadingLevel: HeadingLevel = 'h3';\n @Prop() headers!: string | HeaderConfig[];\n @Prop() rows!: string | TableRowData[];\n @Prop() showHeadersInCells: boolean = false;\n @Prop() cellHeaderLevel: HeadingLevel = 'h3';\n @Prop() tableRowCtaActionLabel: string;\n @Prop() imageColAriaHeader: string;\n @Prop() ctaColAriaHeader: string;\n @Prop() checkForNewShipments: boolean = false;\n @Prop() endpoint: string;\n @Prop() language: string = 'sv';\n @Prop() market: string;\n @Prop() toggleDetailLabel: string = 'View details';\n @Prop() checkForChat: boolean = false;\n @Prop({ reflect: true, mutable: true }) value: string = '';\n @Prop() shipmentType!: string;\n @Prop() contentId: string = '';\n @Prop() takeAmountRow: number = 2;\n @Prop() shipmentCount: number = 2;\n\n @State() i18n: TableRowi18n;\n @State() private _headers: HeaderConfig[] = [];\n @State() private _rows: TableRowData[] = [];\n @State() private _allKeys: Set<string> = new Set();\n @State() private screenInfo?: ScreenWidthInfo;\n\n private screenWidth = ScreenWidth.getInstance();\n private cleanup?: () => void;\n private _chatService: PnChatService;\n private _chatSegment: string = \"#chat\";\n private _marketwebTableService: MarketwebTableService;\n\n componentWillLoad(): void {\n this.setInitialValues();\n this.setTranslations();\n this._marketwebTableService = new MarketwebTableService(this.endpoint, this.language);\n\n this.cleanup = this.screenWidth.subscribe(info => {\n this.screenInfo = info;\n });\n\n if (this.checkForNewShipments) {\n this._chatService = new PnChatService(this.endpoint, this.market, this.language);\n setInterval(() => {\n this.checkForNewMessages();\n }, 60000);\n }\n }\n\n setTranslations() {\n if (translations[this.language]) {\n this.i18n = translations[this.language] as TableRowi18n;\n }\n else {\n const fallbackLang = 'sv';\n this.i18n = translations[fallbackLang] as TableRowi18n;\n }\n }\n\n @Watch('language')\n onLanguageChange() {\n this.setTranslations();\n }\n\n async componentDidLoad() {\n if (this.checkForChat) {\n const thisTable = document.querySelector('pn-marketweb-table.' + this.shipmentType);\n const chatHrefs = thisTable.querySelectorAll('[href*=\"#chat\"]');\n const openChatATags: HTMLAnchorElement[] = Array.from(chatHrefs).filter(\n (el): el is HTMLAnchorElement => el instanceof HTMLAnchorElement\n );\n this.OpenChatEvent(openChatATags);\n }\n }\n\n componentDidRender() {\n const thisTable = document.querySelector('pn-marketweb-table[shipment-type=' + this.shipmentType + ']');\n const toggleButtons = thisTable?.querySelectorAll('pn-button.toggle-widget');\n toggleButtons?.forEach(pnButton => {\n const btnText = pnButton.querySelector('.pn-button-text');\n if (btnText && btnText.innerHTML !== this.i18n.toggleButtonOn) {\n btnText.innerHTML = this.i18n.toggleButtonOn;\n }\n const button = pnButton.querySelector('button');\n if (button && !button.hasAttribute('data-toggle-initialized')) {\n button.addEventListener('click', this.toggleButton.bind(this));\n button.setAttribute('data-toggle-initialized', 'true');\n }\n });\n }\n\n private toggleButton(event) {\n const button = event.currentTarget as HTMLButtonElement;\n const parentRow = button.closest('tr');\n const parentPnButton = button.closest('pn-button');\n\n const isActive = parentRow.classList.contains(\"shipment-id-active\");\n\n const existingWidgetRows = document.querySelectorAll('.widget-row');\n existingWidgetRows.forEach(row => row.remove());\n\n const allRows = document.querySelectorAll('tr');\n allRows.forEach(row => row.classList.remove(\"shipment-id-active\"));\n\n const allPnButtons = document.querySelectorAll('pn-button.toggle-widget');\n allPnButtons.forEach(pnBtn => {\n pnBtn.setAttribute('icon', angle_down);\n pnBtn.querySelector('.pn-button-text').innerHTML = this.i18n.toggleButtonOn;\n });\n\n if (isActive) {\n return;\n }\n button.querySelector('.pn-button-text').innerHTML = this.i18n.toggleButtonOff;\n parentRow.classList.add(\"shipment-id-active\");\n\n const widgetRow = document.createElement('tr');\n widgetRow.classList.add('widget-row');\n\n const tdElement = document.createElement('td');\n tdElement.colSpan = parentRow.children.length;\n\n const divEl = document.createElement('div');\n divEl.classList.add('pn-widget-wrapper');\n\n const widget = document.createElement('pn-widget');\n widget.setAttribute('locale', this.language);\n widget.setAttribute('shipment-id', button.id);\n\n divEl.appendChild(widget);\n tdElement.appendChild(divEl);\n widgetRow.appendChild(tdElement);\n\n parentRow.parentNode.insertBefore(widgetRow, parentRow.nextSibling);\n\n parentPnButton.setAttribute('icon', angle_up);\n }\n\n private handleShowMore = async () => {\n let skip = this._rows.length;\n let data = await this._marketwebTableService.getUserShipments(this.contentId, skip, this.takeAmountRow, this.checkForChat);\n if (data) {\n this._rows = [...this._rows, ...data];\n }\n };\n\n async waitForComponent(selector: string, maxRetries = 10, delay = 300): Promise<HTMLElement | null> {\n for (let i = 0; i < maxRetries; i++) {\n const element = document.querySelector(selector);\n if (element) {\n return element as HTMLElement;\n }\n await new Promise(resolve => setTimeout(resolve, delay));\n }\n return null;\n }\n\n disconnectedCallback(): void {\n if (this.cleanup) {\n this.cleanup();\n }\n }\n\n private async checkForNewMessages() {\n for (let i = 0; i < this._rows.length; i++) {\n const row = this._rows[i];\n const itemId = row.id;\n\n if (itemId) {\n const hasNewMessages = await this._chatService.hasNewMessages(itemId);\n\n if (row.hasNewMessages !== hasNewMessages) {\n this._rows[i] = { ...row, hasNewMessages: hasNewMessages };\n }\n }\n }\n\n this._rows = [...this._rows];\n }\n\n private setInitialValues(): void {\n try {\n this.parseRows();\n this.parseHeaders();\n\n } catch (error) {\n console.error('Error parsing table data:', error);\n this._rows = [];\n this._headers = [];\n }\n }\n\n private parseRows() {\n this._rows = typeof this.rows === 'string' ? JSON.parse(this.rows) : this.rows;\n this._allKeys = new Set(this._rows.flatMap(row => Object.keys(row)));\n }\n\n private parseHeaders() {\n if (typeof this.headers === 'string') {\n this._headers = JSON.parse(this.headers);\n } else if (this.headers) {\n this._headers = this.headers;\n } else {\n this._headers = Array.from(this._allKeys).map(key => ({ key, label: key }));\n }\n }\n\n private renderCellContent(header: HeaderConfig, row: TableRowData): JSX.Element | string | number | boolean {\n const content = header.render ? header.render(row) : row[header.key] ?? '-';\n return content;\n }\n\n private renderCell(header: HeaderConfig, row: TableRowData): JSX.Element {\n const content = this.renderCellContent(header, row);\n\n if (this.showHeadersInCells || this.screenInfo.width <= DEFAULT_BREAKPOINTS.tablet) {\n return (\n <div class=\"cell-content\" role=\"cell\">\n <HeadingTag\n level={this.cellHeaderLevel}\n cssClass=\"cell-heading\"\n additionalProps={{\n 'aria-hidden': 'true',\n 'role': 'presentation',\n }}\n >\n {header.label}\n </HeadingTag>\n <span class=\"cell-value\">{content}</span>\n </div>\n );\n }\n\n return <>{content}</>;\n }\n\n private handleToggleClick = () => {\n const areaToggle = document.querySelector('.trackandtracewidgetblock');\n if (areaToggle?.parentElement) {\n areaToggle.parentElement.classList.toggle('hideRow');\n }\n };\n\n private renderActionButtons(row: TableRowData): JSX.Element | null {\n if (!row.actionButtons) return null;\n\n return (\n <td class=\"actions\" role=\"cell\">\n <div class=\"button-wrapper\" role=\"group\" aria-label={this.tableRowCtaActionLabel} data-label={this.i18n.newMessage}>\n {row.actionButtons.map(btn => (\n <pn-button\n appearance={btn.appearance}\n class={btn.class}\n variant={btn.variant}\n small={btn.small}\n loading={btn.loading}\n icon={btn.icon}\n leftIcon={btn.leftIcon}\n tooltip={btn.tooltip}\n href={btn.href}\n rel={btn.rel}\n download={btn.download}\n form={btn.form}\n buttonId={btn.buttonId}\n icon-only={btn.iconOnly}\n arialabel={btn.content}\n data-chat={btn.customAttribute}>\n {btn.content}\n </pn-button>\n ))}\n </div>\n </td>\n );\n }\n\n private async OpenChatEvent(aTags: HTMLAnchorElement[]) {\n aTags.forEach((aTag) => {\n aTag.addEventListener(\"click\", (e) => {\n e.preventDefault();\n const previousLocationHash = window?.location?.hash ?? \"\";\n\n const findShipmentIdInUrlRegex = /#chat:([a-zA-Z0-9]+)(?=#|$)/;\n const match = aTag.href.match(findShipmentIdInUrlRegex);\n const shipmentId = match ? match[1] : \"\";\n const shipmentHash = `${this._chatSegment}:${shipmentId}`;\n window.location.hash = shipmentHash;\n\n this.waitForComponent('pn-chat').then((chat) => {\n if (shipmentId) {\n chat.setAttribute('item-id', shipmentId);\n }\n else {\n chat.setAttribute('item-id', \"\");\n }\n\n let oldInitChatId = chat.getAttribute('pn-chat-id');\n\n const _defaultChatId = \"00000000-0000-0000-0000-000000000000\";\n const _defaultAlternativeChatId = \"1\";\n const _defaultTriggerChatId = oldInitChatId === _defaultChatId ? _defaultAlternativeChatId : _defaultChatId;\n let chatId = _defaultTriggerChatId;\n const reversedChatId = aTag?.parentElement?.getAttribute('data-chat');\n\n if (reversedChatId) {\n chatId = reversedChatId.split('').reverse().join('');\n }\n\n chat.setAttribute('is-logged-in', 'true');\n chat.setAttribute('pn-chat-id', chatId);\n\n if (previousLocationHash.includes(shipmentHash)) {\n let forceOpen = chat.getAttribute('force-open') ?? 'true';\n forceOpen = forceOpen === 'true' ? 'false' : 'true';\n chat.setAttribute('force-open', forceOpen);\n }\n });\n });\n });\n }\n\n render() {\n const tableId = `table-${Math.random().toString(36)}`;\n const headingId = `${tableId}-main-heading`;\n\n return (\n <Host language={this.language}>\n <div class='pn-marketweb-table'>\n <div role='region' aria-labelledby={this.mainHeading ? headingId : undefined}>\n <div class='heading-section'>\n <div class='heading-wrapper'>\n {this.mainHeading && (\n <HeadingTag level={this.mainHeadingLevel} cssClass='main-heading' id={headingId}>\n {this.mainHeading}\n </HeadingTag>\n )}\n {this.preamble && (\n <div class=\"preamble-section\">{this.preamble}</div>\n )}\n </div>\n </div>\n {this._rows.length > 0 && (\n <table class='pn-marketweb-table__table' aria-labelledby={this.mainHeading ? `${tableId}-main-heading` : undefined}>\n {this._headers && (\n <thead class={this.showHeadersInCells ? 'sr-only' : undefined} >\n <tr >\n {this._rows.some((row) => row.imageUrl) && this.imageColAriaHeader && (\n <th scope='col' class='sr-only'>\n {this.imageColAriaHeader}\n </th>\n )}\n {this._headers.map((header) => (\n <th key={header.key} scope='col' class='sr-only-mobile'>\n {header.label}\n </th>\n ))}\n {this._rows.some((row) => row.link1 || row.link2) && this.ctaColAriaHeader && (\n <th scope='col' class='sr-only'>\n {this.ctaColAriaHeader}\n </th>\n )}\n </tr>\n </thead>\n )}\n <tbody class=\"pn-marketweb-table__table-body\">\n {this._rows.slice(0, this.shipmentCount).map((row, rowIndex) => (\n <tr key={rowIndex} class={`cell-row ${row.hasNewMessages ? \"row-new-message\" : ''}`}>\n {row.imageUrl && (\n <td class='cell-image'>\n <div class='image-container'>\n <img src={row.imageUrl} alt='' class='row-image' />\n </div>\n </td>\n )}\n {this._headers.map((header) => (\n <td key={`${rowIndex}-${header.key}`} class='cell-content' >\n {this.renderCell(header, row)}\n </td>\n ))}\n {this.renderActionButtons(row)}\n </tr>\n ))}\n </tbody>\n </table>\n )}\n {this.shipmentCount > this._rows.length && (\n <div class=\"pn-market-table__show-more-wrapper\">\n <pn-button variant=\"outlined\" appearance=\"light\" label={this.i18n?.showMoreLabel || 'Show More'} onClick={() => this.handleShowMore()}></pn-button>\n </div>\n )}\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -36,6 +36,42 @@ const actionButtons = [
|
|
|
36
36
|
buttonId: null,
|
|
37
37
|
},
|
|
38
38
|
];
|
|
39
|
+
const actionButtons2 = [
|
|
40
|
+
{
|
|
41
|
+
content: '',
|
|
42
|
+
class: 'toggle-widget',
|
|
43
|
+
appearance: 'light',
|
|
44
|
+
variant: '',
|
|
45
|
+
small: true,
|
|
46
|
+
loading: false,
|
|
47
|
+
icon: angle_down,
|
|
48
|
+
leftIcon: false,
|
|
49
|
+
tooltip: null,
|
|
50
|
+
href: null,
|
|
51
|
+
rel: null,
|
|
52
|
+
download: null,
|
|
53
|
+
form: null,
|
|
54
|
+
buttonId: '1234567890',
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
content: 'Continue Chat',
|
|
58
|
+
class: '',
|
|
59
|
+
appearance: 'light',
|
|
60
|
+
variant: 'outlined',
|
|
61
|
+
small: true,
|
|
62
|
+
loading: false,
|
|
63
|
+
icon: '<svg class="pn-icon-svg" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"><path fill="#000" fill-rule="evenodd" d="M12.388 2c5.522 0 10 4.477 10 10s-4.478 10-10 10H2l1.355-4.064-.798-3.987a8.8 8.8 0 0 1-.17-1.717V12c0-5.523 4.478-10 10-10m8 10a8 8 0 0 0-16 0v.232q0 .67.13 1.325l.902 4.507L4.775 20h7.612a8 8 0 0 0 8-8m-12.5-1.5a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3m6 1.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0m3-1.5a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3" clip-rule="evenodd"/></svg>',
|
|
64
|
+
leftIcon: true,
|
|
65
|
+
tooltip: null,
|
|
66
|
+
href: 'https://localhost:51543/min-oversikt/#chat',
|
|
67
|
+
rel: null,
|
|
68
|
+
download: null,
|
|
69
|
+
form: null,
|
|
70
|
+
buttonId: null,
|
|
71
|
+
arialabel: 'Continue chat',
|
|
72
|
+
iconOnly: false,
|
|
73
|
+
},
|
|
74
|
+
];
|
|
39
75
|
const shipmentItem = {};
|
|
40
76
|
shipmentItem.imageUrl = 'https://picsum.photos/id/204/160/100';
|
|
41
77
|
shipmentItem.service = 'REK (500 g)';
|
|
@@ -50,7 +86,7 @@ const shipmentItem2 = Object.assign({}, shipmentItem);
|
|
|
50
86
|
shipmentItem2.recipient = 'Sune Andersson';
|
|
51
87
|
shipmentItem2.validUntil = undefined;
|
|
52
88
|
shipmentItem2.extra = 'Some data';
|
|
53
|
-
shipmentItem2.actionButtons =
|
|
89
|
+
shipmentItem2.actionButtons = actionButtons2;
|
|
54
90
|
shipmentItems.push(shipmentItem2);
|
|
55
91
|
const headers = [
|
|
56
92
|
{ key: 'service', label: 'Service' },
|
package/dist/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.stories.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pn-marketweb-table.stories.js","sourceRoot":"","sources":["../../../../src/components/widgets/pn-marketweb-table/pn-marketweb-table.stories.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrF,OAAO,IAAI,MAAM,gCAAgC,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAGjE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAsB5D,MAAM,aAAa,GAAe;IAChC;QACE,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,eAAe;QACtB,UAAU,EAAE,OAAO;QACnB,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,IAAI;QACV,GAAG,EAAE,IAAI;QACT,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,YAAY;KACvB;IACD;QACE,OAAO,EAAE,YAAY;QACrB,KAAK,EAAE,EAAE;QACT,UAAU,EAAE,OAAO;QACnB,OAAO,EAAE,UAAU;QACnB,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,ifAAif;QACvf,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,4CAA4C;QAClD,GAAG,EAAE,IAAI;QACT,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,IAAI;KACf;CACF,CAAC;AAEF,MAAM,YAAY,GAAG,EAAmB,CAAC;AACzC,YAAY,CAAC,QAAQ,GAAG,sCAAsC,CAAC;AAC/D,YAAY,CAAC,OAAO,GAAG,aAAa,CAAC;AACrC,YAAY,CAAC,SAAS,GAAG,YAAY,CAAC;AACtC,YAAY,CAAC,UAAU,GAAG,YAAY,CAAC;AACvC,YAAY,CAAC,UAAU,GAAG,YAAY,CAAC;AACvC,YAAY,CAAC,MAAM,GAAG,aAAa,CAAC;AACpC,YAAY,CAAC,aAAa,GAAG,aAAa,CAAC;AAE3C,MAAM,aAAa,GAAoB,EAAE,CAAC;AAC1C,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAEjC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;AACtD,aAAa,CAAC,SAAS,GAAG,gBAAgB,CAAC;AAC3C,aAAa,CAAC,UAAU,GAAG,SAAS,CAAC;AACrC,aAAa,CAAC,KAAK,GAAG,WAAW,CAAC;AAClC,aAAa,CAAC,aAAa,GAAG,
|
|
1
|
+
{"version":3,"file":"pn-marketweb-table.stories.js","sourceRoot":"","sources":["../../../../src/components/widgets/pn-marketweb-table/pn-marketweb-table.stories.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrF,OAAO,IAAI,MAAM,gCAAgC,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAGjE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAsB5D,MAAM,aAAa,GAAe;IAChC;QACE,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,eAAe;QACtB,UAAU,EAAE,OAAO;QACnB,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,IAAI;QACV,GAAG,EAAE,IAAI;QACT,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,YAAY;KACvB;IACD;QACE,OAAO,EAAE,YAAY;QACrB,KAAK,EAAE,EAAE;QACT,UAAU,EAAE,OAAO;QACnB,OAAO,EAAE,UAAU;QACnB,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,ifAAif;QACvf,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,4CAA4C;QAClD,GAAG,EAAE,IAAI;QACT,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,IAAI;KACf;CACF,CAAC;AAEF,MAAM,cAAc,GAAe;IACjC;QACE,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,eAAe;QACtB,UAAU,EAAE,OAAO;QACnB,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,IAAI;QACV,GAAG,EAAE,IAAI;QACT,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,YAAY;KACvB;IACD;QACE,OAAO,EAAE,eAAe;QACxB,KAAK,EAAE,EAAE;QACT,UAAU,EAAE,OAAO;QACnB,OAAO,EAAE,UAAU;QACnB,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,ifAAif;QACvf,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,4CAA4C;QAClD,GAAG,EAAE,IAAI;QACT,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,eAAe;QAC1B,QAAQ,EAAE,KAAK;KAChB;CACF,CAAC;AAEF,MAAM,YAAY,GAAG,EAAmB,CAAC;AACzC,YAAY,CAAC,QAAQ,GAAG,sCAAsC,CAAC;AAC/D,YAAY,CAAC,OAAO,GAAG,aAAa,CAAC;AACrC,YAAY,CAAC,SAAS,GAAG,YAAY,CAAC;AACtC,YAAY,CAAC,UAAU,GAAG,YAAY,CAAC;AACvC,YAAY,CAAC,UAAU,GAAG,YAAY,CAAC;AACvC,YAAY,CAAC,MAAM,GAAG,aAAa,CAAC;AACpC,YAAY,CAAC,aAAa,GAAG,aAAa,CAAC;AAE3C,MAAM,aAAa,GAAoB,EAAE,CAAC;AAC1C,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAEjC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;AACtD,aAAa,CAAC,SAAS,GAAG,gBAAgB,CAAC;AAC3C,aAAa,CAAC,UAAU,GAAG,SAAS,CAAC;AACrC,aAAa,CAAC,KAAK,GAAG,WAAW,CAAC;AAClC,aAAa,CAAC,aAAa,GAAG,cAAc,CAAC;AAC7C,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAElC,MAAM,OAAO,GAAG;IACd,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;IACpC,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;IACxC,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE;IAC3C,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE;IAC3C,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;IAClC,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;CACjC,CAAC;AAEF,MAAM,IAAI,GAAsC;IAC9C,KAAK,EAAE,qCAAqC;IAC5C,UAAU,EAAE;QACV,OAAO,EAAE,EAAE;QACX,IAAI,EAAE;YACJ,WAAW,EAAE;gBACX,KAAK,EAAE,WAAW;aACnB;SACF;KACF;IACD,IAAI,EAAE;QACJ,WAAW,EAAE,SAAS;QACtB,QAAQ,EAAE,4HAA4H;QACtI,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;QACnC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;QAChC,kBAAkB,EAAE,IAAI;QACxB,kBAAkB,EAAE,cAAc;QAClC,iBAAiB,EAAE,eAAe;QAClC,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,KAAK;QACnB,YAAY,EAAE,UAAU;QACxB,SAAS,EAAE,QAAQ;QACnB,aAAa,EAAE,CAAC;QAChB,aAAa,EAAE,EAAE;KAClB;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE;YACR,MAAM,EAAE;gBACN,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE;gBAChC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE;gBAChC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE;gBAC/B,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE;gBAChC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE;aACnC;SACF;KACF;CACF,CAAC;AAIF,eAAe,IAAI,CAAC;AAEpB,MAAM,CAAC,MAAM,cAAc,GAAU;IACnC,IAAI,EAAE;QACJ,aAAa,EAAE,CAAC;KACjB;IAED,IAAI,EAAE,iBAAiB;IAEvB,MAAM,EAAE,IAAI,CAAC,EAAE;QACb,MAAM,SAAS,GAAG,eAAe,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;QAC9D,OAAO,SAAS,CAAC;IACnB,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAU;IAC1C,IAAI,EAAE,0BAA0B;IAChC,MAAM,EAAE,cAAc,CAAC,MAAM;IAC7B,IAAI,EAAE;QACJ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;QACnC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;QAChC,kBAAkB,EAAE,KAAK;QACzB,eAAe,EAAE,IAAI;QACrB,YAAY,EAAE,UAAU;KACzB;CACF,CAAC","sourcesContent":["import type { Meta, StoryObj } from '@storybook/web-components';\nimport { createDocumentation, createComponent } from '@/globals/documentation/story';\nimport docs from './pn-marketweb-table-docs.json';\nimport { angle_down } from 'pn-design-assets/pn-assets/icons.js';\nimport { PnButton } from '@/globals/types';\n\nconst { argTypes, textContent } = createDocumentation(docs);\n\nexport interface IShipmentItem {\n imageUrl?: string;\n service?: string;\n recipient?: string;\n number?: string;\n shipmentId?: string;\n validUntil?: string;\n actionButtons?: PnButton[];\n link1?: string;\n link1Text?: string;\n link1IconSvg?: string;\n link2?: string;\n link2Text?: string;\n link2IconSvg?: string;\n extra?: string;\n contentId?: string;\n takeAmountRow?: number;\n shipmentCount?: number;\n}\n\nconst actionButtons: PnButton[] = [\n {\n content: '',\n class: 'toggle-widget',\n appearance: 'light',\n variant: '',\n small: true,\n loading: false,\n icon: angle_down,\n leftIcon: false,\n tooltip: null,\n href: null,\n rel: null,\n download: null,\n form: null,\n buttonId: '1234567890',\n },\n {\n content: 'Start Chat',\n class: '',\n appearance: 'light',\n variant: 'outlined',\n small: true,\n loading: false,\n icon: '<svg class=\"pn-icon-svg\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\"><path fill=\"#000\" fill-rule=\"evenodd\" d=\"M12.388 2c5.522 0 10 4.477 10 10s-4.478 10-10 10H2l1.355-4.064-.798-3.987a8.8 8.8 0 0 1-.17-1.717V12c0-5.523 4.478-10 10-10m8 10a8 8 0 0 0-16 0v.232q0 .67.13 1.325l.902 4.507L4.775 20h7.612a8 8 0 0 0 8-8m-12.5-1.5a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3m6 1.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0m3-1.5a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3\" clip-rule=\"evenodd\"/></svg>',\n leftIcon: true,\n tooltip: null,\n href: 'https://localhost:51543/min-oversikt/#chat',\n rel: null,\n download: null,\n form: null,\n buttonId: null,\n },\n];\n\nconst actionButtons2: PnButton[] = [\n {\n content: '',\n class: 'toggle-widget',\n appearance: 'light',\n variant: '',\n small: true,\n loading: false,\n icon: angle_down,\n leftIcon: false,\n tooltip: null,\n href: null,\n rel: null,\n download: null,\n form: null,\n buttonId: '1234567890',\n },\n {\n content: 'Continue Chat',\n class: '',\n appearance: 'light',\n variant: 'outlined',\n small: true,\n loading: false,\n icon: '<svg class=\"pn-icon-svg\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\"><path fill=\"#000\" fill-rule=\"evenodd\" d=\"M12.388 2c5.522 0 10 4.477 10 10s-4.478 10-10 10H2l1.355-4.064-.798-3.987a8.8 8.8 0 0 1-.17-1.717V12c0-5.523 4.478-10 10-10m8 10a8 8 0 0 0-16 0v.232q0 .67.13 1.325l.902 4.507L4.775 20h7.612a8 8 0 0 0 8-8m-12.5-1.5a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3m6 1.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0m3-1.5a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3\" clip-rule=\"evenodd\"/></svg>',\n leftIcon: true,\n tooltip: null,\n href: 'https://localhost:51543/min-oversikt/#chat',\n rel: null,\n download: null,\n form: null,\n buttonId: null,\n arialabel: 'Continue chat',\n iconOnly: false,\n },\n];\n\nconst shipmentItem = {} as IShipmentItem;\nshipmentItem.imageUrl = 'https://picsum.photos/id/204/160/100';\nshipmentItem.service = 'REK (500 g)';\nshipmentItem.recipient = 'Bert Ljung';\nshipmentItem.shipmentId = '1234567890';\nshipmentItem.validUntil = '2023-05-21';\nshipmentItem.number = '863 475 983';\nshipmentItem.actionButtons = actionButtons;\n\nconst shipmentItems: IShipmentItem[] = [];\nshipmentItems.push(shipmentItem);\n\nconst shipmentItem2 = Object.assign({}, shipmentItem);\nshipmentItem2.recipient = 'Sune Andersson';\nshipmentItem2.validUntil = undefined;\nshipmentItem2.extra = 'Some data';\nshipmentItem2.actionButtons = actionButtons2;\nshipmentItems.push(shipmentItem2);\n\nconst headers = [\n { key: 'service', label: 'Service' },\n { key: 'recipient', label: 'Recipient' },\n { key: 'shipmentId', label: 'Shipment ID' },\n { key: 'validUntil', label: 'Valid Until' },\n { key: 'number', label: 'Number' },\n { key: 'extra', label: 'Extra' },\n];\n\nconst meta: Meta<HTMLPnMarketwebTableElement> = {\n title: 'Components/Widgets/Market Web Table',\n parameters: {\n actions: {},\n docs: {\n description: {\n story: textContent,\n },\n },\n },\n args: {\n mainHeading: 'Sending',\n preamble: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua',\n rows: JSON.stringify(shipmentItems),\n headers: JSON.stringify(headers),\n showHeadersInCells: true,\n imageColAriaHeader: 'Image Column',\n toggleDetailLabel: 'Visa detaljer',\n language: 'sv',\n checkForChat: false,\n shipmentType: 'Incoming',\n contentId: '150640',\n takeAmountRow: 2,\n shipmentCount: 20,\n },\n argTypes: {\n language: {\n values: [\n { name: 'English', value: 'en' },\n { name: 'Swedish', value: 'sv' },\n { name: 'Danish', value: 'da' },\n { name: 'Finnish', value: 'fi' },\n { name: 'Norwegian', value: 'no' },\n ],\n },\n },\n};\n\ntype Story = StoryObj<HTMLPnMarketwebTableElement>;\n\nexport default meta;\n\nexport const MarketwebTable: Story = {\n args: {\n takeAmountRow: 3\n },\n\n name: 'MarketWeb Table',\n\n render: args => {\n const component = createComponent('pn-marketweb-table', args);\n return component;\n }\n};\n\nexport const MarketwebTableExample: Story = {\n name: 'MarketWeb Table: Show th',\n render: MarketwebTable.render,\n args: {\n rows: JSON.stringify(shipmentItems),\n headers: JSON.stringify(headers),\n showHeadersInCells: false,\n cellHeaderLevel: 'h4',\n shipmentType: 'Incoming'\n },\n};\n"]}
|
|
@@ -30,44 +30,52 @@ export const translations = {
|
|
|
30
30
|
showMoreLabel: 'Näytä lisää',
|
|
31
31
|
},
|
|
32
32
|
'de': {
|
|
33
|
-
newMessage: '
|
|
34
|
-
toggleButtonOn: '
|
|
35
|
-
toggleButtonOff: '
|
|
33
|
+
newMessage: 'Neue Nachricht',
|
|
34
|
+
toggleButtonOn: 'Details anzeigen',
|
|
35
|
+
toggleButtonOff: 'Details ausblenden',
|
|
36
|
+
showMoreLabel: 'Mehr anzeigen',
|
|
36
37
|
},
|
|
37
38
|
'zh': {
|
|
38
|
-
newMessage: '
|
|
39
|
-
toggleButtonOn: '
|
|
40
|
-
toggleButtonOff: '
|
|
39
|
+
newMessage: '新消息',
|
|
40
|
+
toggleButtonOn: '显示详情',
|
|
41
|
+
toggleButtonOff: '隐藏详情',
|
|
42
|
+
showMoreLabel: '显示更多',
|
|
41
43
|
},
|
|
42
44
|
'it': {
|
|
43
|
-
newMessage: '
|
|
44
|
-
toggleButtonOn: '
|
|
45
|
-
toggleButtonOff: '
|
|
45
|
+
newMessage: 'Nuovo messaggio',
|
|
46
|
+
toggleButtonOn: 'Mostra dettagli',
|
|
47
|
+
toggleButtonOff: 'Nascondi dettagli',
|
|
48
|
+
showMoreLabel: 'Mostra di più',
|
|
46
49
|
},
|
|
47
50
|
'nl': {
|
|
48
|
-
newMessage: '
|
|
49
|
-
toggleButtonOn: '
|
|
50
|
-
toggleButtonOff: '
|
|
51
|
+
newMessage: 'Nieuw bericht',
|
|
52
|
+
toggleButtonOn: 'Toon details',
|
|
53
|
+
toggleButtonOff: 'Verberg details',
|
|
54
|
+
showMoreLabel: 'Meer tonen',
|
|
51
55
|
},
|
|
52
56
|
'tr': {
|
|
53
|
-
newMessage: '
|
|
54
|
-
toggleButtonOn: '
|
|
55
|
-
toggleButtonOff: '
|
|
57
|
+
newMessage: 'Yeni mesaj',
|
|
58
|
+
toggleButtonOn: 'Detayları göster',
|
|
59
|
+
toggleButtonOff: 'Detayları gizle',
|
|
60
|
+
showMoreLabel: 'Daha fazla göster',
|
|
56
61
|
},
|
|
57
62
|
'pt': {
|
|
58
|
-
newMessage: '
|
|
59
|
-
toggleButtonOn: '
|
|
60
|
-
toggleButtonOff: '
|
|
63
|
+
newMessage: 'Nova mensagem',
|
|
64
|
+
toggleButtonOn: 'Mostrar detalhes',
|
|
65
|
+
toggleButtonOff: 'Ocultar detalhes',
|
|
66
|
+
showMoreLabel: 'Mostrar mais',
|
|
61
67
|
},
|
|
62
68
|
'pl': {
|
|
63
|
-
newMessage: '
|
|
64
|
-
toggleButtonOn: '
|
|
65
|
-
toggleButtonOff: '
|
|
69
|
+
newMessage: 'Nowa wiadomość',
|
|
70
|
+
toggleButtonOn: 'Pokaż szczegóły',
|
|
71
|
+
toggleButtonOff: 'Ukryj szczegóły',
|
|
72
|
+
showMoreLabel: 'Pokaż więcej',
|
|
66
73
|
},
|
|
67
74
|
'pt-BR': {
|
|
68
|
-
newMessage: '
|
|
69
|
-
toggleButtonOn: '
|
|
70
|
-
toggleButtonOff: '
|
|
71
|
-
|
|
75
|
+
newMessage: 'Nova mensagem',
|
|
76
|
+
toggleButtonOn: 'Mostrar detalhes',
|
|
77
|
+
toggleButtonOff: 'Ocultar detalhes',
|
|
78
|
+
showMoreLabel: 'Mostrar mais',
|
|
79
|
+
}
|
|
72
80
|
};
|
|
73
81
|
//# sourceMappingURL=translations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translations.js","sourceRoot":"","sources":["../../../../src/components/widgets/pn-marketweb-table/translations.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE;QACJ,UAAU,EAAE,iBAAiB;QAC7B,cAAc,EAAE,eAAe;QAC/B,eAAe,EAAE,eAAe;QAChC,aAAa,EAAE,UAAU;KAC1B;IACD,IAAI,EAAE;QACJ,UAAU,EAAE,aAAa;QACzB,cAAc,EAAE,cAAc;QAC9B,eAAe,EAAE,cAAc;QAC/B,aAAa,EAAE,WAAW;KAC3B;IACD,IAAI,EAAE;QACJ,UAAU,EAAE,WAAW;QACvB,cAAc,EAAE,cAAc;QAC9B,eAAe,EAAE,gBAAgB;QACjC,aAAa,EAAE,UAAU;KAC1B;IACD,IAAI,EAAE;QACJ,UAAU,EAAE,YAAY;QACxB,cAAc,EAAE,cAAc;QAC9B,eAAe,EAAE,gBAAgB;QACjC,aAAa,EAAE,SAAS;KACzB;IACD,IAAI,EAAE;QACJ,UAAU,EAAE,aAAa;QACzB,cAAc,EAAE,cAAc;QAC9B,eAAe,EAAE,gBAAgB;QACjC,aAAa,EAAE,aAAa;KAC7B;IACD,IAAI,EAAE;QACJ,UAAU,EAAE,gBAAgB;QAC5B,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"translations.js","sourceRoot":"","sources":["../../../../src/components/widgets/pn-marketweb-table/translations.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE;QACJ,UAAU,EAAE,iBAAiB;QAC7B,cAAc,EAAE,eAAe;QAC/B,eAAe,EAAE,eAAe;QAChC,aAAa,EAAE,UAAU;KAC1B;IACD,IAAI,EAAE;QACJ,UAAU,EAAE,aAAa;QACzB,cAAc,EAAE,cAAc;QAC9B,eAAe,EAAE,cAAc;QAC/B,aAAa,EAAE,WAAW;KAC3B;IACD,IAAI,EAAE;QACJ,UAAU,EAAE,WAAW;QACvB,cAAc,EAAE,cAAc;QAC9B,eAAe,EAAE,gBAAgB;QACjC,aAAa,EAAE,UAAU;KAC1B;IACD,IAAI,EAAE;QACJ,UAAU,EAAE,YAAY;QACxB,cAAc,EAAE,cAAc;QAC9B,eAAe,EAAE,gBAAgB;QACjC,aAAa,EAAE,SAAS;KACzB;IACD,IAAI,EAAE;QACJ,UAAU,EAAE,aAAa;QACzB,cAAc,EAAE,cAAc;QAC9B,eAAe,EAAE,gBAAgB;QACjC,aAAa,EAAE,aAAa;KAC7B;IACD,IAAI,EAAE;QACJ,UAAU,EAAE,gBAAgB;QAC5B,cAAc,EAAE,kBAAkB;QAClC,eAAe,EAAE,oBAAoB;QACrC,aAAa,EAAE,eAAe;KAC/B;IACD,IAAI,EAAE;QACJ,UAAU,EAAE,KAAK;QACjB,cAAc,EAAE,MAAM;QACtB,eAAe,EAAE,MAAM;QACvB,aAAa,EAAE,MAAM;KACtB;IACD,IAAI,EAAE;QACJ,UAAU,EAAE,iBAAiB;QAC7B,cAAc,EAAE,iBAAiB;QACjC,eAAe,EAAE,mBAAmB;QACpC,aAAa,EAAE,eAAe;KAC/B;IACD,IAAI,EAAE;QACJ,UAAU,EAAE,eAAe;QAC3B,cAAc,EAAE,cAAc;QAC9B,eAAe,EAAE,iBAAiB;QAClC,aAAa,EAAE,YAAY;KAC5B;IACD,IAAI,EAAE;QACJ,UAAU,EAAE,YAAY;QACxB,cAAc,EAAE,kBAAkB;QAClC,eAAe,EAAE,iBAAiB;QAClC,aAAa,EAAE,mBAAmB;KACnC;IACD,IAAI,EAAE;QACJ,UAAU,EAAE,eAAe;QAC3B,cAAc,EAAE,kBAAkB;QAClC,eAAe,EAAE,kBAAkB;QACnC,aAAa,EAAE,cAAc;KAC9B;IACD,IAAI,EAAE;QACJ,UAAU,EAAE,gBAAgB;QAC5B,cAAc,EAAE,iBAAiB;QACjC,eAAe,EAAE,iBAAiB;QAClC,aAAa,EAAE,cAAc;KAC9B;IACD,OAAO,EAAE;QACP,UAAU,EAAE,eAAe;QAC3B,cAAc,EAAE,kBAAkB;QAClC,eAAe,EAAE,kBAAkB;QACnC,aAAa,EAAE,cAAc;KAC9B;CACF,CAAC","sourcesContent":["export const translations = {\n 'sv': {\n newMessage: 'Nytt meddelande',\n toggleButtonOn: 'Visa detaljer',\n toggleButtonOff: 'Dölj detaljer',\n showMoreLabel: 'Visa mer',\n },\n 'en': {\n newMessage: 'New message',\n toggleButtonOn: 'Show details',\n toggleButtonOff: 'Hide details',\n showMoreLabel: 'Show more',\n },\n 'da': {\n newMessage: 'Ny besked',\n toggleButtonOn: 'Vis detaljer',\n toggleButtonOff: 'Skjul detaljer',\n showMoreLabel: 'Vis mere',\n },\n 'no': {\n newMessage: 'Ny melding',\n toggleButtonOn: 'Vis detaljer',\n toggleButtonOff: 'Skjul detaljer',\n showMoreLabel: 'Vis mer',\n },\n 'fi': {\n newMessage: 'Uusi viesti',\n toggleButtonOn: 'Näytä tiedot',\n toggleButtonOff: 'Piilota tiedot',\n showMoreLabel: 'Näytä lisää',\n },\n 'de': {\n newMessage: 'Neue Nachricht',\n toggleButtonOn: 'Details anzeigen',\n toggleButtonOff: 'Details ausblenden',\n showMoreLabel: 'Mehr anzeigen',\n },\n 'zh': {\n newMessage: '新消息',\n toggleButtonOn: '显示详情',\n toggleButtonOff: '隐藏详情',\n showMoreLabel: '显示更多',\n },\n 'it': {\n newMessage: 'Nuovo messaggio',\n toggleButtonOn: 'Mostra dettagli',\n toggleButtonOff: 'Nascondi dettagli',\n showMoreLabel: 'Mostra di più',\n },\n 'nl': {\n newMessage: 'Nieuw bericht',\n toggleButtonOn: 'Toon details',\n toggleButtonOff: 'Verberg details',\n showMoreLabel: 'Meer tonen',\n },\n 'tr': {\n newMessage: 'Yeni mesaj',\n toggleButtonOn: 'Detayları göster',\n toggleButtonOff: 'Detayları gizle',\n showMoreLabel: 'Daha fazla göster',\n },\n 'pt': {\n newMessage: 'Nova mensagem',\n toggleButtonOn: 'Mostrar detalhes',\n toggleButtonOff: 'Ocultar detalhes',\n showMoreLabel: 'Mostrar mais',\n },\n 'pl': {\n newMessage: 'Nowa wiadomość',\n toggleButtonOn: 'Pokaż szczegóły',\n toggleButtonOff: 'Ukryj szczegóły',\n showMoreLabel: 'Pokaż więcej',\n },\n 'pt-BR': {\n newMessage: 'Nova mensagem',\n toggleButtonOn: 'Mostrar detalhes',\n toggleButtonOff: 'Ocultar detalhes',\n showMoreLabel: 'Mostrar mais',\n }\n};\n"]}
|
|
@@ -25,7 +25,7 @@ export class PnUspPromoter {
|
|
|
25
25
|
rightAlign ? "usp-promoter--right-align" : "",
|
|
26
26
|
].join(' ');
|
|
27
27
|
const hasHeadingExtension = this.headingExtension ? "usp-promoter__heading-extension" : "";
|
|
28
|
-
return (h(Host, { key: '
|
|
28
|
+
return (h(Host, { key: '23494c6ed3177f63b9cf483eaf28ae62c4050797' }, h("div", { key: '84cec740776a5f787933b6f7a8734ba00f898a71', class: ` ${classes} ${this.centerMobileContent()}`, style: { 'background': `${this.backgroundGradient}` } }, h("div", { key: '77d56ad9982b8e8d2459c881a797cd5fa3c51519', class: "usp-promoter__content" }, h("slot", { key: '3b0ddfeaec6ce47329f5a2d64df978f8779de532', name: "illustration" }), h("div", { key: '072080f41f6531333d154499c1b63d3822e3cdbb', class: "usp-promoter__content-wrapper" }, h("h2", { key: 'd09398e7a54f7a1a6a44ab1ede3aaac7a6e00261', class: `usp-promoter__content-heading ${hasHeadingExtension}` }, h("span", { key: '48f98ffcce6c0c6b2b6cf8bb754b84d414fedb8c' }, this.heading), this.headingExtension ? h("span", null, this.headingExtension) : null), h("p", { key: '3f0abe6fcd83e31ffa2ab932027b14f9c1e7c439', class: "usp-promoter__content-text" }, this.bodyText), h("slot", { key: '54fa5a5072c8897dd6ae7c216b2c5d7ad1d6a2b6', name: "app-store" }), h("slot", { key: '0bad1abdc12f5108a62f723136c764214bcc6143', name: "usp-buttons" }))))));
|
|
29
29
|
}
|
|
30
30
|
static get is() { return "pn-usp-promoter"; }
|
|
31
31
|
static get originalStyleUrls() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/globals/types.ts"],"names":[],"mappings":"","sourcesContent":["export type HeadingLevel = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\nexport interface PnButton {\n content: string;\n class?: string;\n appearance?: string;\n variant?: string;\n small?: boolean;\n loading?: boolean;\n icon?: string;\n leftIcon?: boolean;\n tooltip?: string;\n href?: string;\n rel?: string;\n download?: string;\n form?: string;\n buttonId?: string;\n customAttribute?: string;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/globals/types.ts"],"names":[],"mappings":"","sourcesContent":["export type HeadingLevel = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\nexport interface PnButton {\n content: string;\n class?: string;\n appearance?: string;\n variant?: string;\n small?: boolean;\n loading?: boolean;\n icon?: string;\n leftIcon?: boolean;\n tooltip?: string;\n href?: string;\n rel?: string;\n download?: string;\n form?: string;\n buttonId?: string;\n customAttribute?: string;\n arialabel?: string;\n iconOnly?: boolean;\n}\n"]}
|
|
@@ -15,6 +15,7 @@ const PnChatMessage = /*@__PURE__*/ proxyCustomElement(class PnChatMessage exten
|
|
|
15
15
|
this.agentName = undefined;
|
|
16
16
|
}
|
|
17
17
|
robotIcon = '<?xml version="1.0" encoding="UTF-8"?> <svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 20 20"> <!-- Generator: Adobe Illustrator 29.5.1, SVG Export Plug-In . SVG Version: 2.1.0 Build 141) --> <defs> <style> .st0 { fill: none; } .st1 { fill: #8eddf9; } .st2 { fill: #f3f2f2; } .st3 { fill: #0d234b; } .st4 { fill: #f06365; } .st5 { clip-path: url(#clippath); } .st6 { fill: #005d92; } </style> <clipPath id="clippath"> <rect class="st0" width="20" height="20"/> </clipPath> </defs> <g class="st5"> <g> <path class="st2" d="M10,20c5.5,0,10-4.5,10-10S15.5,0,10,0,0,4.5,0,10s4.5,10,10,10Z"/> <path class="st3" d="M10.5,4h-.5v2.8h.5v-2.8Z"/> <path class="st3" d="M10.2,4.3c.5,0,1-.4,1-1s-.4-1-1-1-1,.4-1,1,.4,1,1,1Z"/> <path class="st3" d="M9,5h2.4c1,0,1.8.8,1.8,1.8h-6c0-1,.8-1.8,1.8-1.8Z"/> <path class="st4" d="M17,10.3v-.8c0-1.9-1.5-3.5-3.5-3.5h-7.1c-1.9,0-3.5,1.6-3.5,3.5v.8h14.1Z"/> <path d="M13.9,16.1l-3.7.4v-.4s3.6-.4,3.6-.4c.8,0,1.6-.4,2.1-1s.7-2.9.7-3.7h.4c0,.9-.2,3.3-.8,3.9-.6.7-1.4,1.1-2.3,1.2Z"/> <path class="st4" d="M16.3,12.1v-3.6h.2c1,0,1.8.8,1.8,1.8s-.8,1.8-1.8,1.8h-.2Z"/> <path class="st4" d="M3.7,8.5v3.6h-.2c-1,0-1.8-.8-1.8-1.8s.8-1.8,1.8-1.8h.2Z"/> <path class="st3" d="M13.1,6.6h-6.2c-1.8,0-3.3,1.5-3.3,3.3v2.1c0,1.8,1.5,3.3,3.3,3.3h6.2c1.8,0,3.3-1.5,3.3-3.3v-2.1c0-1.8-1.5-3.3-3.3-3.3Z"/> <path class="st6" d="M12.8,7.8h-5.6c-1.4,0-2.5,1.1-2.5,2.5v1.4c0,1.4,1.1,2.4,2.5,2.4h5.6c1.4,0,2.4-1.1,2.4-2.4v-1.4c0-1.4-1.1-2.5-2.4-2.5Z"/> <path class="st1" d="M12.3,11.9c.5,0,1-.4,1-1s-.4-1-1-1-1,.4-1,1,.4,1,1,1Z"/> <path class="st1" d="M7.7,11.9c.5,0,1-.4,1-1s-.4-1-1-1-1,.4-1,1,.4,1,1,1Z"/> <path d="M11,15.8h-1.5c-.3,0-.5.2-.5.5h0c0,.3.2.5.5.5h1.5c.3,0,.5-.2.5-.5h0c0-.3-.2-.5-.5-.5Z"/> </g> </g> </svg>';
|
|
18
|
+
blue700 = 'blue700';
|
|
18
19
|
getIcon() {
|
|
19
20
|
let icon = null;
|
|
20
21
|
switch (this.category) {
|
|
@@ -42,7 +43,7 @@ const PnChatMessage = /*@__PURE__*/ proxyCustomElement(class PnChatMessage exten
|
|
|
42
43
|
render() {
|
|
43
44
|
const segmentClass = this.customerSegment?.toLowerCase() || '';
|
|
44
45
|
const categoryClass = this.category?.toLowerCase() || '';
|
|
45
|
-
return (h(Host, { key: '
|
|
46
|
+
return (h(Host, { key: '0bd86ed5a6709fca909aa09b9b8bf6c497c230a2', class: this.getMessageClass() }, h("div", { key: '190cdd88c6b715022bad825d19f97ef2720005b9', class: `message-container ${categoryClass}` }, this.getIcon() && (h("span", { key: 'd7ae83dba633e39b5cc08e38526acd3f3b2f8427', class: "category" }, h("pn-icon", { key: '8331458b12bc1669cba3cfc637abc2280516feec', icon: this.getIcon(), color: this.blue700, "aria-hidden": "true", role: "presentation" }))), h("span", { key: '5aa89b7fe5ff9f65f69453b23d835aad16c68190', class: `message ${segmentClass}` }, h("slot", { key: '1565b98e7b83884d8bc30a5dfcd9fce88e607a1d' })))));
|
|
46
47
|
}
|
|
47
48
|
static get style() { return PnChatMessageStyle0; }
|
|
48
49
|
}, [4, "pn-chat-message", {
|