@telia-ace/knowledge-widget-components-guide 1.0.6 → 1.0.10

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.
Files changed (45) hide show
  1. package/{lib-esm → dist}/answer-version-picker.d.ts +0 -0
  2. package/{lib-esm → dist}/categories.d.ts +0 -0
  3. package/{lib-esm → dist}/feedback.d.ts +0 -0
  4. package/{lib-esm → dist}/functions.d.ts +0 -0
  5. package/{lib-esm → dist}/guide-component.d.ts +0 -0
  6. package/{lib-esm → dist}/guide.d.ts +0 -0
  7. package/dist/guide.js +917 -0
  8. package/dist/guide.js.map +1 -0
  9. package/{lib-esm → dist}/index.d.ts +0 -0
  10. package/dist/index.js +191 -0
  11. package/dist/index.js.map +1 -0
  12. package/{lib-esm → dist}/languages.d.ts +0 -0
  13. package/{lib-esm → dist}/toolbar.d.ts +0 -0
  14. package/{lib-esm → dist}/use-feedback.d.ts +0 -0
  15. package/package.json +16 -17
  16. package/lib/answer-version-picker.d.ts +0 -10
  17. package/lib/answer-version-picker.js +0 -75
  18. package/lib/categories.d.ts +0 -8
  19. package/lib/categories.js +0 -80
  20. package/lib/feedback.d.ts +0 -7
  21. package/lib/feedback.js +0 -34
  22. package/lib/functions.d.ts +0 -29
  23. package/lib/functions.js +0 -129
  24. package/lib/guide-component.d.ts +0 -69
  25. package/lib/guide-component.js +0 -196
  26. package/lib/guide.d.ts +0 -7
  27. package/lib/guide.js +0 -117
  28. package/lib/index.d.ts +0 -2
  29. package/lib/index.js +0 -7
  30. package/lib/languages.d.ts +0 -17
  31. package/lib/languages.js +0 -110
  32. package/lib/toolbar.d.ts +0 -8
  33. package/lib/toolbar.js +0 -62
  34. package/lib/use-feedback.d.ts +0 -4
  35. package/lib/use-feedback.js +0 -54
  36. package/lib-esm/answer-version-picker.js +0 -50
  37. package/lib-esm/categories.js +0 -52
  38. package/lib-esm/feedback.js +0 -29
  39. package/lib-esm/functions.js +0 -101
  40. package/lib-esm/guide-component.js +0 -166
  41. package/lib-esm/guide.js +0 -89
  42. package/lib-esm/index.js +0 -2
  43. package/lib-esm/languages.js +0 -85
  44. package/lib-esm/toolbar.js +0 -57
  45. package/lib-esm/use-feedback.js +0 -52
package/lib/feedback.js DELETED
@@ -1,34 +0,0 @@
1
- "use strict";
2
- var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
- return cooked;
5
- };
6
- var __importDefault = (this && this.__importDefault) || function (mod) {
7
- return (mod && mod.__esModule) ? mod : { "default": mod };
8
- };
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- var knowledge_widget_adapters_1 = require("@telia-ace/knowledge-widget-adapters");
11
- var knowledge_widget_ui_1 = require("@telia-ace/knowledge-widget-ui");
12
- var react_1 = __importDefault(require("react"));
13
- var styled_components_1 = __importDefault(require("styled-components"));
14
- var StyledContactList = (0, styled_components_1.default)(knowledge_widget_adapters_1.ContactList)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n border-top: ", ";\n ", "\n"], ["\n border-top: ", ";\n ", "\n"])), function (p) { return p.theme.border; }, function (p) { return p.backButtonShown === 'true' && "border-bottom: ".concat(p.theme.border, ";"); });
15
- var StyledFeedback = (0, styled_components_1.default)(knowledge_widget_ui_1.Feedback)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (p) { var _a, _b; return "padding: ".concat((_a = p.theme.sizes) === null || _a === void 0 ? void 0 : _a.large, " ").concat((_b = p.theme.sizes) === null || _b === void 0 ? void 0 : _b.large, ";"); });
16
- var Recognition = (0, styled_components_1.default)(knowledge_widget_ui_1.StyledHeaderText)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n ", "\n\n display: block;\n font-size: ", ";\n font-weight: bold;\n"], ["\n ", "\n\n display: block;\n font-size: ", ";\n font-weight: bold;\n"])), function (p) { var _a, _b; return "padding: ".concat((_a = p.theme.sizes) === null || _a === void 0 ? void 0 : _a.large, " ").concat((_b = p.theme.sizes) === null || _b === void 0 ? void 0 : _b.large, ";"); }, function (p) { var _a; return (_a = p.theme.fonts) === null || _a === void 0 ? void 0 : _a.normal; });
17
- var Feedback = function (_a) {
18
- var _b = _a.backButtonShown, backButtonShown = _b === void 0 ? false : _b, _c = _a.accordion, accordion = _c === void 0 ? false : _c;
19
- var dispatch = (0, knowledge_widget_ui_1.useDispatch)();
20
- var _d = (0, knowledge_widget_ui_1.useProperties)(), _e = _d.loading, loading = _e === void 0 ? false : _e, _f = _d.dialog, dialog = _f === void 0 ? [] : _f, guide = _d.guide, _g = _d.handoverContactMethods, handoverContactMethods = _g === void 0 ? [] : _g, contactHeader = _d.contactHeader, showFeedback = _d.showFeedback, _h = _d.feedbackDirection, feedbackDirection = _h === void 0 ? 'horizontal' : _h, feedbackRecognitionLabel = _d.feedbackRecognitionLabel, feedbackGiven = _d.feedbackGiven, feedbackHeader = _d.feedbackHeader, positiveFeedbackLabel = _d.positiveFeedbackLabel, negativeFeedbackLabel = _d.negativeFeedbackLabel, contactFeedbackLabel = _d.contactFeedbackLabel;
21
- if (!showFeedback ||
22
- !guide ||
23
- !guide.allowFeedback ||
24
- (loading && !feedbackGiven) ||
25
- dialog.length) {
26
- return null;
27
- }
28
- if (feedbackGiven && feedbackRecognitionLabel && !handoverContactMethods.length) {
29
- return (react_1.default.createElement(Recognition, { accordion: accordion ? 'true' : 'false' }, feedbackRecognitionLabel));
30
- }
31
- return guide.hasHandover && handoverContactMethods.length ? (react_1.default.createElement(StyledContactList, { backButtonShown: backButtonShown ? 'true' : 'false', accordion: accordion ? 'true' : 'false', header: contactHeader, contactMethods: handoverContactMethods, dispatch: dispatch })) : (react_1.default.createElement(StyledFeedback, { accordion: accordion ? 'true' : 'false', positive: positiveFeedbackLabel, negative: guide.hasHandover ? contactFeedbackLabel : negativeFeedbackLabel, header: feedbackHeader, selected: feedbackGiven, onFeedback: function (feedback) { return dispatch('feedback', feedback); }, direction: feedbackDirection }));
32
- };
33
- exports.default = Feedback;
34
- var templateObject_1, templateObject_2, templateObject_3;
@@ -1,29 +0,0 @@
1
- import { PickerTypes } from '@telia-ace/knowledge-widget-core';
2
- import { DispatchAction } from '@telia-ace/knowledge-widget-ui';
3
- import React from 'react';
4
- import { GuideProps } from './guide-component';
5
- export declare type FunctionListItem = {
6
- type: string;
7
- child: React.ReactNode;
8
- };
9
- declare type Props = {
10
- header?: string;
11
- tooltip?: string;
12
- printActionLabel?: string;
13
- copyActionLabel?: string;
14
- addFavoriteTooltip?: string;
15
- removeFavoriteCancelLabel?: string;
16
- removeFavoriteConfirmLabel?: string;
17
- removeFavoriteHeader?: string;
18
- removeFavoriteLabel?: string;
19
- removeFavoriteTooltip?: string;
20
- toolbarFunctionsCloseButtonAriaLabel?: string;
21
- guide: GuideProps;
22
- allowCopy?: boolean;
23
- allowPrint?: boolean;
24
- showFavoriteToggle?: boolean;
25
- picker?: PickerTypes;
26
- dispatch: DispatchAction;
27
- };
28
- declare const Functions: React.FC<Props>;
29
- export default Functions;
package/lib/functions.js DELETED
@@ -1,129 +0,0 @@
1
- "use strict";
2
- var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
- return cooked;
5
- };
6
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
- if (k2 === undefined) k2 = k;
8
- var desc = Object.getOwnPropertyDescriptor(m, k);
9
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
- desc = { enumerable: true, get: function() { return m[k]; } };
11
- }
12
- Object.defineProperty(o, k2, desc);
13
- }) : (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- o[k2] = m[k];
16
- }));
17
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
- Object.defineProperty(o, "default", { enumerable: true, value: v });
19
- }) : function(o, v) {
20
- o["default"] = v;
21
- });
22
- var __importStar = (this && this.__importStar) || function (mod) {
23
- if (mod && mod.__esModule) return mod;
24
- var result = {};
25
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
26
- __setModuleDefault(result, mod);
27
- return result;
28
- };
29
- var __read = (this && this.__read) || function (o, n) {
30
- var m = typeof Symbol === "function" && o[Symbol.iterator];
31
- if (!m) return o;
32
- var i = m.call(o), r, ar = [], e;
33
- try {
34
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
35
- }
36
- catch (error) { e = { error: error }; }
37
- finally {
38
- try {
39
- if (r && !r.done && (m = i["return"])) m.call(i);
40
- }
41
- finally { if (e) throw e.error; }
42
- }
43
- return ar;
44
- };
45
- var __importDefault = (this && this.__importDefault) || function (mod) {
46
- return (mod && mod.__esModule) ? mod : { "default": mod };
47
- };
48
- Object.defineProperty(exports, "__esModule", { value: true });
49
- var knowledge_widget_core_1 = require("@telia-ace/knowledge-widget-core");
50
- var knowledge_widget_ui_1 = require("@telia-ace/knowledge-widget-ui");
51
- var react_1 = __importStar(require("react"));
52
- var styled_components_1 = __importDefault(require("styled-components"));
53
- var Functions = function (_a) {
54
- var header = _a.header, tooltip = _a.tooltip, printActionLabel = _a.printActionLabel, copyActionLabel = _a.copyActionLabel, addFavoriteTooltip = _a.addFavoriteTooltip, removeFavoriteCancelLabel = _a.removeFavoriteCancelLabel, removeFavoriteConfirmLabel = _a.removeFavoriteConfirmLabel, removeFavoriteHeader = _a.removeFavoriteHeader, removeFavoriteLabel = _a.removeFavoriteLabel, removeFavoriteTooltip = _a.removeFavoriteTooltip, toolbarFunctionsCloseButtonAriaLabel = _a.toolbarFunctionsCloseButtonAriaLabel, _b = _a.allowCopy, allowCopy = _b === void 0 ? false : _b, _c = _a.allowPrint, allowPrint = _c === void 0 ? false : _c, _d = _a.showFavoriteToggle, showFavoriteToggle = _d === void 0 ? false : _d, _e = _a.picker, picker = _e === void 0 ? knowledge_widget_core_1.PickerTypes.NONE : _e, guide = _a.guide, dispatch = _a.dispatch;
55
- var _f = __read((0, knowledge_widget_ui_1.useFavorites)(), 2), favorites = _f[0], actions = _f[1];
56
- var handleCopy = (0, react_1.useCallback)(function (event) {
57
- if (guide) {
58
- dispatch('copy', guide);
59
- }
60
- }, [guide, dispatch]);
61
- var handlePrint = (0, react_1.useCallback)(function () {
62
- if (guide) {
63
- dispatch('print');
64
- }
65
- }, [guide, dispatch]);
66
- var items = (0, react_1.useMemo)(function () {
67
- var id = guide.id, title = guide.title;
68
- var items = [];
69
- if (allowCopy) {
70
- items.push({
71
- type: 'copy',
72
- child: (react_1.default.createElement(knowledge_widget_ui_1.StyledListButton, { "data-has-label": copyActionLabel ? 'true' : 'false', "data-has-symbol": "true", title: copyActionLabel, "aria-label": printActionLabel, onClick: handleCopy },
73
- react_1.default.createElement(ColoredSymbolBadge, { size: 16, symbol: { type: 'Svg', content: 'copy' } }),
74
- copyActionLabel && react_1.default.createElement(knowledge_widget_ui_1.StyledText, null, copyActionLabel))),
75
- });
76
- }
77
- if (allowPrint) {
78
- items.push({
79
- type: 'print',
80
- child: (react_1.default.createElement(knowledge_widget_ui_1.StyledListButton, { "data-has-label": printActionLabel ? 'true' : 'false', "data-has-symbol": "true", title: printActionLabel, "aria-label": printActionLabel, onClick: handlePrint },
81
- react_1.default.createElement(ColoredSymbolBadge, { size: 16, symbol: { type: 'Svg', content: 'print' } }),
82
- printActionLabel && react_1.default.createElement(knowledge_widget_ui_1.StyledText, null, printActionLabel))),
83
- });
84
- }
85
- if (showFavoriteToggle) {
86
- var isFavorite = favorites.indexOf(id) > -1;
87
- items.push({
88
- type: 'favorite',
89
- child: (react_1.default.createElement(knowledge_widget_ui_1.FavoriteButton, { id: id, guideTitle: title, isFavorite: isFavorite, buttonLabel: isFavorite ? removeFavoriteTooltip : addFavoriteTooltip, addFavoriteTooltip: addFavoriteTooltip, removeFavoriteCancelLabel: removeFavoriteCancelLabel, removeFavoriteConfirmLabel: removeFavoriteConfirmLabel, removeFavoriteHeader: removeFavoriteHeader, removeFavoriteLabel: removeFavoriteLabel, removeFavoriteTooltip: removeFavoriteTooltip, actions: actions })),
90
- });
91
- }
92
- return items;
93
- }, [
94
- favorites,
95
- guide,
96
- allowCopy,
97
- allowPrint,
98
- showFavoriteToggle,
99
- printActionLabel,
100
- copyActionLabel,
101
- addFavoriteTooltip,
102
- removeFavoriteCancelLabel,
103
- removeFavoriteConfirmLabel,
104
- removeFavoriteHeader,
105
- removeFavoriteLabel,
106
- removeFavoriteTooltip,
107
- ]);
108
- if (!items.length) {
109
- return null;
110
- }
111
- var trigger = (react_1.default.createElement(StyledTriggerButton, { tabIndex: 0, title: tooltip, "data-has-symbol": "true", "data-has-label": "false" },
112
- react_1.default.createElement(ColoredSymbolBadge, { symbol: { type: 'Svg', content: 'options' }, size: 18 })));
113
- var renderListItem = function (_a) {
114
- var type = _a.type, child = _a.child;
115
- return (react_1.default.createElement("li", { key: type, "data-function-type": type }, child));
116
- };
117
- if (picker === knowledge_widget_core_1.PickerTypes.DROPDOWN) {
118
- return (react_1.default.createElement(StyledDropdownList, { className: "humany-guide-functions-dropdown-list", header: header, items: items, trigger: trigger, renderItem: renderListItem, closeButtonAriaLabel: toolbarFunctionsCloseButtonAriaLabel }));
119
- }
120
- if (picker === knowledge_widget_core_1.PickerTypes.DRAWER) {
121
- return (react_1.default.createElement(knowledge_widget_ui_1.DrawerList, { className: "humany-guide-functions-drawer-list", animation: { type: knowledge_widget_ui_1.DrawerAnimationType.SlideInBottom }, header: header, items: items, trigger: trigger, renderItem: renderListItem, closeButtonAriaLabel: toolbarFunctionsCloseButtonAriaLabel }));
122
- }
123
- return null;
124
- };
125
- exports.default = Functions;
126
- var ColoredSymbolBadge = (0, styled_components_1.default)(knowledge_widget_ui_1.SymbolBadge)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n circle {\n fill: ", ";\n }\n\n line,\n path,\n rect {\n stroke: ", ";\n }\n"], ["\n circle {\n fill: ", ";\n }\n\n line,\n path,\n rect {\n stroke: ", ";\n }\n"])), function (p) { var _a; return (_a = p.theme.colors) === null || _a === void 0 ? void 0 : _a.text; }, function (p) { var _a; return (_a = p.theme.colors) === null || _a === void 0 ? void 0 : _a.text; });
127
- var StyledDropdownList = (0, styled_components_1.default)(knowledge_widget_ui_1.DropdownList)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: block;\n min-height: auto;\n"], ["\n display: block;\n min-height: auto;\n"])));
128
- var StyledTriggerButton = (0, styled_components_1.default)(knowledge_widget_ui_1.StyledListButton)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n padding: calc(", " * 2) 0;\n"], ["\n padding: calc(", " * 2) 0;\n"])), function (p) { var _a; return (_a = p.theme.sizes) === null || _a === void 0 ? void 0 : _a.small; });
129
- var templateObject_1, templateObject_2, templateObject_3;
@@ -1,69 +0,0 @@
1
- import { ContactMethodType } from '@telia-ace/knowledge-widget-adapters';
2
- import { FavoriteProperties, LanguageProperties, MetaDataProperties } from '@telia-ace/knowledge-widget-component-utilities';
3
- import { DialogItem, PickerTypes } from '@telia-ace/knowledge-widget-core';
4
- import { DataError } from '@telia-ace/knowledge-widget-types-grid';
5
- import { FormComponentInstanceProperties } from '@telia-ace/widget-forms';
6
- import { Container } from '@webprovisions/platform';
7
- export declare type GuideProps = {
8
- id: string;
9
- title: string;
10
- body: string;
11
- connection: string;
12
- categories: number[];
13
- hasHandover: boolean;
14
- allowFeedback: boolean;
15
- perspectives: {
16
- [key: string]: string;
17
- };
18
- translations?: {
19
- [key: string]: string;
20
- };
21
- modified?: string;
22
- published?: string;
23
- publishedBy?: string | null;
24
- modifiedBy?: string | null;
25
- perspective: string | null;
26
- };
27
- export declare type AvailablePerspectives = {
28
- name: string;
29
- title: string;
30
- };
31
- export declare type GuideComponentProps = {
32
- showHeader?: boolean;
33
- showFeedback?: boolean;
34
- feedbackDirection?: 'horizontal' | 'vertical';
35
- feedbackGiven?: 'positive' | 'negative';
36
- contactMethods?: ContactMethodType[];
37
- handoverContactMethods?: ContactMethodType[];
38
- showAnswerVersions?: boolean;
39
- feedbackHeader?: string;
40
- contactHeader?: string;
41
- toolbarFunctionsHeader?: string;
42
- toolbarLanguageHeader?: string;
43
- positiveFeedbackLabel?: string;
44
- negativeFeedbackLabel?: string;
45
- contactFeedbackLabel?: string;
46
- feedbackRecognitionLabel?: string;
47
- defaultAnswerVersionLabel?: string;
48
- backButtonLabel?: string;
49
- toolbarFunctionsTooltip?: string;
50
- toolbarFunctionsCloseButtonAriaLabel?: string;
51
- copyActionLabel?: string;
52
- printActionLabel?: string;
53
- toolbarLanguageTooltip?: string;
54
- toolbar?: ToolbarProps;
55
- guide?: GuideProps;
56
- dialog?: DialogItem[];
57
- error?: DataError;
58
- availablePerspectives?: AvailablePerspectives[];
59
- } & FormComponentInstanceProperties & FavoriteProperties & MetaDataProperties & LanguageProperties;
60
- export declare type ToolbarProps = {
61
- language?: boolean;
62
- guideCategories?: boolean;
63
- allowCopy?: boolean;
64
- allowPrint?: boolean;
65
- showFavoriteToggle?: boolean;
66
- picker?: PickerTypes;
67
- };
68
- export declare const GuideComponent: (container: Container) => Promise<void>;
69
- export default GuideComponent;
@@ -1,196 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- var desc = Object.getOwnPropertyDescriptor(m, k);
16
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
- desc = { enumerable: true, get: function() { return m[k]; } };
18
- }
19
- Object.defineProperty(o, k2, desc);
20
- }) : (function(o, m, k, k2) {
21
- if (k2 === undefined) k2 = k;
22
- o[k2] = m[k];
23
- }));
24
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
- Object.defineProperty(o, "default", { enumerable: true, value: v });
26
- }) : function(o, v) {
27
- o["default"] = v;
28
- });
29
- var __importStar = (this && this.__importStar) || function (mod) {
30
- if (mod && mod.__esModule) return mod;
31
- var result = {};
32
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
- __setModuleDefault(result, mod);
34
- return result;
35
- };
36
- var __read = (this && this.__read) || function (o, n) {
37
- var m = typeof Symbol === "function" && o[Symbol.iterator];
38
- if (!m) return o;
39
- var i = m.call(o), r, ar = [], e;
40
- try {
41
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
42
- }
43
- catch (error) { e = { error: error }; }
44
- finally {
45
- try {
46
- if (r && !r.done && (m = i["return"])) m.call(i);
47
- }
48
- finally { if (e) throw e.error; }
49
- }
50
- return ar;
51
- };
52
- var __importDefault = (this && this.__importDefault) || function (mod) {
53
- return (mod && mod.__esModule) ? mod : { "default": mod };
54
- };
55
- Object.defineProperty(exports, "__esModule", { value: true });
56
- exports.GuideComponent = void 0;
57
- var knowledge_widget_component_utilities_1 = require("@telia-ace/knowledge-widget-component-utilities");
58
- var knowledge_widget_core_1 = require("@telia-ace/knowledge-widget-core");
59
- var knowledge_widget_types_grid_1 = require("@telia-ace/knowledge-widget-types-grid");
60
- var knowledge_widget_ui_1 = require("@telia-ace/knowledge-widget-ui");
61
- var clipboard = __importStar(require("clipboard-polyfill"));
62
- var use_feedback_1 = __importDefault(require("./use-feedback"));
63
- var buildPlainText = function (_a) {
64
- var title = _a.title, body = _a.body;
65
- var processedHtml = '';
66
- if (title && title.length) {
67
- processedHtml = title.trim();
68
- }
69
- if (body && body.length) {
70
- processedHtml = "".concat(processedHtml.trim(), "\n").concat(body.trim());
71
- }
72
- var div = document.createElement('div');
73
- div.innerHTML = processedHtml;
74
- var links = Array.from(div.getElementsByTagName('a'));
75
- var plainText = div.innerText;
76
- links.forEach(function (a) {
77
- plainText = plainText.replace(a.innerText, "[".concat(a.href, "] (").concat(a.innerText, ")"));
78
- });
79
- return plainText;
80
- };
81
- var buildHtml = function (_a) {
82
- var title = _a.title, body = _a.body;
83
- var processedHtml = '';
84
- if (title && title.length) {
85
- processedHtml = "<h2>".concat(title.trim(), "</h2>");
86
- }
87
- if (body && body.length) {
88
- processedHtml = "".concat(processedHtml.trim()).concat(body.trim());
89
- }
90
- return processedHtml.trim();
91
- };
92
- var GuideComponent = function (container) {
93
- var events = container.get('$widget').events;
94
- var _a = __read((0, knowledge_widget_core_1.createEventSubscriber)(events), 2), subscribe = _a[0], unsubscribe = _a[1];
95
- return (0, knowledge_widget_ui_1.createReactComponent)(container, 'guide', Promise.resolve().then(function () { return __importStar(require('./guide')); }), function (component) {
96
- var fetch = function (params) {
97
- component.writeProperties({
98
- loading: true,
99
- error: undefined,
100
- guide: undefined,
101
- });
102
- component.actions.dispatch('fetch', { params: params });
103
- };
104
- component.actions.create('copy', function (guide) {
105
- var item = new clipboard.ClipboardItem({
106
- 'text/html': new Blob([buildHtml(guide)], { type: 'text/html' }),
107
- 'text/plain': new Blob([buildPlainText(guide)], { type: 'text/plain' }),
108
- });
109
- return clipboard.write([item]).then(function () {
110
- events.dispatch('widget:menu-toggled', null);
111
- });
112
- });
113
- component.actions.create('print', function () {
114
- var elem = document.querySelector('.humany-guide .humany-paragraph');
115
- var a = window.open('', '', 'height=500, width=500');
116
- events.dispatch('widget:menu-toggled', null);
117
- if (elem && a) {
118
- a.document.write("<html><body>".concat(elem.innerHTML, "</body></html>"));
119
- a.document.close();
120
- a.print();
121
- }
122
- });
123
- component.actions.create('back', function (data, options) {
124
- if (options.preventDefault) {
125
- return;
126
- }
127
- return container.getAsync('router').then(function (router) {
128
- router.goBack();
129
- });
130
- });
131
- component.actions.create('fetch', function (_a) {
132
- var _b = _a.contactMethods, contactMethods = _b === void 0 ? [] : _b, _c = _a.dialog, dialog = _c === void 0 ? [] : _c, guide = _a.guide, error = _a.error;
133
- if (error) {
134
- return component.actions.dispatch('fetched', {
135
- error: error,
136
- guide: undefined,
137
- contactMethods: [],
138
- feedbackGiven: undefined,
139
- handoverContactMethods: [],
140
- showFeedback: false,
141
- loading: true,
142
- });
143
- }
144
- var _d = component.properties(), _e = _d.showFeedback, showFeedback = _e === void 0 ? true : _e, _f = _d.submitButtonLabel, submitButtonLabel = _f === void 0 ? 'Submit' : _f;
145
- var properties = {
146
- showFeedback: showFeedback,
147
- dialog: dialog,
148
- guide: guide,
149
- feedbackGiven: undefined,
150
- handoverContactMethods: [],
151
- contactMethods: contactMethods.map(function (cm) { return (__assign(__assign({}, cm), { body: (0, knowledge_widget_component_utilities_1.updateForm)(cm, { submit: submitButtonLabel }) })); }),
152
- };
153
- return component.actions.dispatch('fetched', __assign(__assign({}, properties), { loading: true }));
154
- });
155
- component.actions.create('fetched', function (input) {
156
- return component.writeProperties(__assign(__assign({}, input), { loading: false }));
157
- });
158
- container.getAsync('router').then(function (router) {
159
- var params = router.getRouteData().params;
160
- fetch(params);
161
- });
162
- subscribe('router:changed', function (event, _a) {
163
- var current = _a.current;
164
- fetch(current.routeData.params);
165
- });
166
- (0, use_feedback_1.default)(container, component);
167
- (0, knowledge_widget_component_utilities_1.useForm)(container, component);
168
- (0, knowledge_widget_component_utilities_1.useExpand)(component);
169
- })
170
- .then(function () {
171
- return (0, knowledge_widget_core_1.extendComponent)(container, 'guide', function (component) {
172
- component.actions.watch('guide.fetch', function (input, next) {
173
- var _a = input.params, guide = _a.guide, connection = _a.connection;
174
- if (guide) {
175
- return container
176
- .getAsync('dataClient')
177
- .then(function (dataClient) {
178
- return dataClient.fetch(knowledge_widget_types_grid_1.DataType.Guide, { connection: connection, guideId: guide });
179
- })
180
- .then(next)
181
- .catch(function (error) {
182
- if (error) {
183
- return next(error);
184
- }
185
- });
186
- }
187
- return next(input);
188
- });
189
- });
190
- })
191
- .then(function () {
192
- unsubscribe();
193
- });
194
- };
195
- exports.GuideComponent = GuideComponent;
196
- exports.default = exports.GuideComponent;
package/lib/guide.d.ts DELETED
@@ -1,7 +0,0 @@
1
- import React from 'react';
2
- declare type Props = {
3
- className: string;
4
- accordion?: boolean;
5
- };
6
- declare const Guide: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLDivElement>>;
7
- export default Guide;
package/lib/guide.js DELETED
@@ -1,117 +0,0 @@
1
- "use strict";
2
- var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
- return cooked;
5
- };
6
- var __assign = (this && this.__assign) || function () {
7
- __assign = Object.assign || function(t) {
8
- for (var s, i = 1, n = arguments.length; i < n; i++) {
9
- s = arguments[i];
10
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11
- t[p] = s[p];
12
- }
13
- return t;
14
- };
15
- return __assign.apply(this, arguments);
16
- };
17
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
- if (k2 === undefined) k2 = k;
19
- var desc = Object.getOwnPropertyDescriptor(m, k);
20
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
21
- desc = { enumerable: true, get: function() { return m[k]; } };
22
- }
23
- Object.defineProperty(o, k2, desc);
24
- }) : (function(o, m, k, k2) {
25
- if (k2 === undefined) k2 = k;
26
- o[k2] = m[k];
27
- }));
28
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
29
- Object.defineProperty(o, "default", { enumerable: true, value: v });
30
- }) : function(o, v) {
31
- o["default"] = v;
32
- });
33
- var __importStar = (this && this.__importStar) || function (mod) {
34
- if (mod && mod.__esModule) return mod;
35
- var result = {};
36
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
37
- __setModuleDefault(result, mod);
38
- return result;
39
- };
40
- var __rest = (this && this.__rest) || function (s, e) {
41
- var t = {};
42
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
43
- t[p] = s[p];
44
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
45
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
46
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
47
- t[p[i]] = s[p[i]];
48
- }
49
- return t;
50
- };
51
- var __importDefault = (this && this.__importDefault) || function (mod) {
52
- return (mod && mod.__esModule) ? mod : { "default": mod };
53
- };
54
- Object.defineProperty(exports, "__esModule", { value: true });
55
- var knowledge_widget_adapters_1 = require("@telia-ace/knowledge-widget-adapters");
56
- var knowledge_widget_types_grid_1 = require("@telia-ace/knowledge-widget-types-grid");
57
- var knowledge_widget_ui_1 = require("@telia-ace/knowledge-widget-ui");
58
- var widget_utilities_1 = require("@telia-ace/widget-utilities");
59
- var react_1 = __importStar(require("react"));
60
- var styled_components_1 = __importStar(require("styled-components"));
61
- var answer_version_picker_1 = __importDefault(require("./answer-version-picker"));
62
- var feedback_1 = __importDefault(require("./feedback"));
63
- var toolbar_1 = __importDefault(require("./toolbar"));
64
- var Guide = (0, react_1.forwardRef)(function (_a, ref) {
65
- var className = _a.className, _b = _a.accordion, accordion = _b === void 0 ? false : _b, other = __rest(_a, ["className", "accordion"]);
66
- var _c = (0, knowledge_widget_ui_1.useProperties)(), _d = _c.loading, loading = _d === void 0 ? false : _d, _e = _c.dialog, dialog = _e === void 0 ? [] : _e, _f = _c.contactMethods, contactMethods = _f === void 0 ? [] : _f, _g = _c.showHeader, showHeader = _g === void 0 ? true : _g, _h = _c.showAnswerVersions, showAnswerVersions = _h === void 0 ? false : _h, _j = _c.defaultAnswerVersionLabel, defaultAnswerVersionLabel = _j === void 0 ? 'Default' : _j, backButtonLabel = _c.backButtonLabel, metadataByLabel = _c.metadataByLabel, metadataModifiedLabel = _c.metadataModifiedLabel, metadataPublishedLabel = _c.metadataPublishedLabel, availablePerspectives = _c.availablePerspectives, metadata = _c.metadata, toolbar = _c.toolbar, guide = _c.guide, error = _c.error;
67
- var connection = (0, knowledge_widget_ui_1.useRouteData)().params.connection;
68
- var container = (0, knowledge_widget_ui_1.useContainer)();
69
- var children = (0, knowledge_widget_ui_1.useChildren)();
70
- var dispatch = (0, knowledge_widget_ui_1.useDispatch)();
71
- var handleBackButtonClick = (0, react_1.useCallback)(function () {
72
- dispatch('back');
73
- }, [dispatch]);
74
- if (!guide && !error && !loading) {
75
- return (0, knowledge_widget_ui_1.createEmptyComponent)(container, __assign(__assign({}, other), { className: (0, widget_utilities_1.appendClassNames)(className, 'humany-guide') }));
76
- }
77
- var _k = guide || {}, _l = _k.id, id = _l === void 0 ? '' : _l, _m = _k.title, title = _m === void 0 ? '' : _m, _o = _k.body, body = _o === void 0 ? '' : _o, _p = _k.translations, translations = _p === void 0 ? {} : _p;
78
- if (error && error.status === 404) {
79
- return react_1.default.createElement(knowledge_widget_types_grid_1.NotFound, { showSearch: false });
80
- }
81
- var showBackButton = !!accordion && !!connection;
82
- var language = Object.keys(translations).find(function (key) { return translations[key] === "".concat(id); });
83
- return (react_1.default.createElement(Wrapper, __assign({ ref: ref }, other, { "data-loading": loading, className: (0, widget_utilities_1.appendClassNames)(className, 'humany-guide') }),
84
- react_1.default.createElement(Content, { "data-loading": loading, accordion: accordion ? 'true' : 'false', className: "humany-guide-content" },
85
- ((showAnswerVersions && guide) || !!toolbar) && (react_1.default.createElement(Top, { className: "humany-guide-top" },
86
- showAnswerVersions && guide && (react_1.default.createElement(answer_version_picker_1.default, { defaultAnswerVersionLabel: defaultAnswerVersionLabel, availablePerspectives: availablePerspectives, guide: guide })),
87
- !!toolbar && react_1.default.createElement(toolbar_1.default, { dispatch: dispatch }))),
88
- !!(title || body) && (react_1.default.createElement(Body, { className: "humany-guide-body", accordion: accordion ? 'true' : 'false', header: (showHeader && title) || undefined, html: body, htmlParseInstruction: (0, knowledge_widget_ui_1.guideRenderInstructions)(container, dialog), lang: language })),
89
- dialog && body.indexOf('h-option-link') === -1 && (react_1.default.createElement(StyledDialogList, { dialog: dialog })),
90
- react_1.default.createElement(StyledContactList, { backButtonShown: showBackButton ? 'true' : 'false', contactMethods: contactMethods, dispatch: dispatch, guideId: guide && guide.id }),
91
- !contactMethods.length && (react_1.default.createElement(feedback_1.default, { backButtonShown: showBackButton, accordion: accordion })),
92
- showBackButton && (react_1.default.createElement(BackButton, { "aria-label": backButtonLabel, onClick: handleBackButtonClick },
93
- react_1.default.createElement(Caret, { width: "7", height: "13", viewBox: "0 0 7 13", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
94
- react_1.default.createElement("line", { x1: "6.64645", y1: "12.5513", x2: "0.648357", y2: "6.55319" }),
95
- react_1.default.createElement("line", { x1: "0.646447", y1: "6.64455", x2: "6.64454", y2: "0.646465" })),
96
- backButtonLabel && react_1.default.createElement("span", null, backButtonLabel))),
97
- metadata && (react_1.default.createElement(StyledMetadata, __assign({}, metadata, { modified: guide === null || guide === void 0 ? void 0 : guide.modified, published: guide === null || guide === void 0 ? void 0 : guide.published, modifiedBy: guide === null || guide === void 0 ? void 0 : guide.modifiedBy, publishedBy: guide === null || guide === void 0 ? void 0 : guide.publishedBy, byLabel: metadataByLabel, modifiedLabel: metadataModifiedLabel, publishedLabel: metadataPublishedLabel }))),
98
- children.map(function (child) { return (react_1.default.createElement(StyledComponents, __assign({ key: child.id, id: child.id, branch: "default" }, { embedded: true }))); })),
99
- react_1.default.createElement(knowledge_widget_ui_1.Loader, { loading: loading })));
100
- });
101
- exports.default = Guide;
102
- var Wrapper = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n ", "\n min-width: 0;\n"], ["\n ", "\n min-width: 0;\n"])), knowledge_widget_ui_1.loadingOpacity);
103
- var Body = (0, styled_components_1.default)(knowledge_widget_ui_1.Paragraph)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n ", "\n ", "\n display: block;\n line-height: 1.6em;\n ", "\n\n p {\n font-weight: 300;\n font-size: ", ";\n color: ", ";\n a {\n display: inline;\n }\n }\n"], ["\n ", "\n ", "\n display: block;\n line-height: 1.6em;\n ", "\n\n p {\n font-weight: 300;\n font-size: ", ";\n color: ", ";\n a {\n display: inline;\n }\n }\n"])), knowledge_widget_ui_1.genericHtml, function (p) { var _a; return "padding: ".concat((_a = p.theme.sizes) === null || _a === void 0 ? void 0 : _a.large, ";"); }, (0, knowledge_widget_ui_1.headingElement)('h1', (0, styled_components_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n font-size: ", ";\n font-weight: normal;\n line-height: 1.6em;\n line-height: 1.6em;\n margin: 0 0 ", ";\n "], ["\n font-size: ", ";\n font-weight: normal;\n line-height: 1.6em;\n line-height: 1.6em;\n margin: 0 0 ", ";\n "])), function (p) { var _a; return (_a = p.theme.fonts) === null || _a === void 0 ? void 0 : _a.large; }, function (p) { var _a; return (_a = p.theme.sizes) === null || _a === void 0 ? void 0 : _a.small; })), function (p) { var _a; return (_a = p.theme.fonts) === null || _a === void 0 ? void 0 : _a.normal; }, function (p) { var _a; return (_a = p.theme.colors) === null || _a === void 0 ? void 0 : _a.text; });
104
- var StyledContactList = (0, styled_components_1.default)(knowledge_widget_adapters_1.ContactList)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n border-top: ", ";\n ", "\n"], ["\n border-top: ", ";\n ", "\n"])), function (p) { return p.theme.border; }, function (p) { return p.backButtonShown === 'true' && "border-bottom: ".concat(p.theme.border, ";"); });
105
- var StyledDialogList = (0, styled_components_1.default)(knowledge_widget_ui_1.DialogList)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n ", "\n display: block;\n"], ["\n ", "\n display: block;\n"])), function (p) { var _a, _b; return "padding: 0 ".concat((_a = p.theme.sizes) === null || _a === void 0 ? void 0 : _a.large, " ").concat((_b = p.theme.sizes) === null || _b === void 0 ? void 0 : _b.large, ";"); });
106
- var Top = styled_components_1.default.div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n ", "\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-bottom: ", ";\n border-radius: ", " 0 0;\n background-color: #ffffff;\n"], ["\n ", "\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-bottom: ", ";\n border-radius: ", " 0 0;\n background-color: #ffffff;\n"])), function (p) { var _a, _b; return "padding: calc(".concat((_a = p.theme.sizes) === null || _a === void 0 ? void 0 : _a.normal, "*2) ").concat((_b = p.theme.sizes) === null || _b === void 0 ? void 0 : _b.large, ";"); }, function (p) { return p.theme.border; }, function (p) { return "".concat(p.theme.borderRadius, " ").concat(p.theme.borderRadius); });
107
- var Content = styled_components_1.default.div(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n ", "\n display: block;\n > a {\n ", "\n }\n\n ", "\n"], ["\n ", "\n display: block;\n > a {\n ", "\n }\n\n ", "\n"])), knowledge_widget_ui_1.contentBox, knowledge_widget_adapters_1.contactLink, function (p) {
108
- return p.accordion === 'true' && (0, styled_components_1.css)(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n white-space: normal;\n box-shadow: none;\n background-color: #fafafa;\n "], ["\n white-space: normal;\n box-shadow: none;\n background-color: #fafafa;\n "])));
109
- });
110
- var StyledMetadata = (0, styled_components_1.default)(knowledge_widget_ui_1.Metadata)(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n display: block;\n ", "\n font-weight: 300;\n font-size: ", ";\n color: ", ";\n border-top: ", ";\n"], ["\n display: block;\n ", "\n font-weight: 300;\n font-size: ", ";\n color: ", ";\n border-top: ", ";\n"])), function (p) { var _a, _b; return "padding: calc(".concat((_a = p.theme.sizes) === null || _a === void 0 ? void 0 : _a.normal, "*2) ").concat((_b = p.theme.sizes) === null || _b === void 0 ? void 0 : _b.large, ";"); }, function (p) { var _a; return (_a = p.theme.fonts) === null || _a === void 0 ? void 0 : _a.normal; }, function (p) { var _a; return (_a = p.theme.colors) === null || _a === void 0 ? void 0 : _a.text; }, function (p) { return p.theme.border; });
111
- var StyledComponents = (0, styled_components_1.default)(knowledge_widget_types_grid_1.Component)(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n border-top: ", ";\n"], ["\n border-top: ", ";\n"])), function (p) { return p.theme.border; });
112
- var BackButton = (0, styled_components_1.default)(knowledge_widget_ui_1.Button)(templateObject_12 || (templateObject_12 = __makeTemplateObject(["\n ", "\n color: ", ";\n text-decoration: underline;\n font-size: ", ";\n span {\n font-weight: 300;\n }\n &:focus {\n ", ";\n }\n"], ["\n ", "\n color: ", ";\n text-decoration: underline;\n font-size: ", ";\n span {\n font-weight: 300;\n }\n &:focus {\n ", ";\n }\n"])), function (p) { var _a, _b; return "padding: ".concat((_a = p.theme.sizes) === null || _a === void 0 ? void 0 : _a.normal, " calc(").concat((_b = p.theme.sizes) === null || _b === void 0 ? void 0 : _b.normal, " * 2);"); }, function (p) { var _a; return (_a = p.theme.colors) === null || _a === void 0 ? void 0 : _a.primary; }, function (p) { var _a; return (_a = p.theme.fonts) === null || _a === void 0 ? void 0 : _a.normal; }, function (p) {
113
- var _a;
114
- return ((_a = p.theme.accessibility) === null || _a === void 0 ? void 0 : _a.isTabbing) && (0, styled_components_1.css)(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n ", "\n padding: ", ";\n "], ["\n ", "\n padding: ", ";\n "])), knowledge_widget_ui_1.linkTabStyle, function (p) { var _a, _b; return "calc(".concat((_a = p.theme.sizes) === null || _a === void 0 ? void 0 : _a.small, " / 2) ").concat((_b = p.theme.sizes) === null || _b === void 0 ? void 0 : _b.small); });
115
- });
116
- var Caret = styled_components_1.default.svg(templateObject_13 || (templateObject_13 = __makeTemplateObject(["\n margin-right: ", ";\n line {\n stroke: ", ";\n }\n"], ["\n margin-right: ", ";\n line {\n stroke: ", ";\n }\n"])), function (p) { var _a; return (_a = p.theme.sizes) === null || _a === void 0 ? void 0 : _a.small; }, function (p) { var _a; return (_a = p.theme.colors) === null || _a === void 0 ? void 0 : _a.primary; });
117
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13;
package/lib/index.d.ts DELETED
@@ -1,2 +0,0 @@
1
- import GuideComponent from './guide-component';
2
- export default GuideComponent;
package/lib/index.js DELETED
@@ -1,7 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- var guide_component_1 = __importDefault(require("./guide-component"));
7
- exports.default = guide_component_1.default;
@@ -1,17 +0,0 @@
1
- import { LanguageProperties } from '@telia-ace/knowledge-widget-component-utilities';
2
- import { PickerTypes } from '@telia-ace/knowledge-widget-core';
3
- import React from 'react';
4
- import { GuideProps } from './guide-component';
5
- export declare type LanguageListItem = {
6
- id: string;
7
- key: string;
8
- label: string;
9
- };
10
- declare type Props = Merge<{
11
- header?: string;
12
- tooltip?: string;
13
- guide: GuideProps;
14
- picker?: PickerTypes;
15
- }, LanguageProperties>;
16
- declare const Languages: React.FC<Props>;
17
- export default Languages;