@telia-ace/widget-types-grid 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.txt +6 -0
- package/README.md +3 -0
- package/lib/component-platform-factory.d.ts +13 -0
- package/lib/component-platform-factory.js +105 -0
- package/lib/index.d.ts +4 -0
- package/lib/index.js +16 -0
- package/lib/services.d.ts +7 -0
- package/lib/services.js +99 -0
- package/lib/site-provider.d.ts +5 -0
- package/lib/site-provider.js +18 -0
- package/lib/ui/animated-view.d.ts +6 -0
- package/lib/ui/animated-view.js +142 -0
- package/lib/ui/component.d.ts +18 -0
- package/lib/ui/component.js +179 -0
- package/lib/ui/detached-component.d.ts +7 -0
- package/lib/ui/detached-component.js +73 -0
- package/lib/ui/determine-slide-direction.d.ts +26 -0
- package/lib/ui/determine-slide-direction.js +51 -0
- package/lib/ui/html-element-handlers.d.ts +18 -0
- package/lib/ui/html-element-handlers.js +128 -0
- package/lib/ui/index.d.ts +6 -0
- package/lib/ui/index.js +19 -0
- package/lib/ui/not-found.d.ts +6 -0
- package/lib/ui/not-found.js +83 -0
- package/lib/ui/prepare-dom.d.ts +20 -0
- package/lib/ui/prepare-dom.js +122 -0
- package/lib/ui/render.d.ts +3 -0
- package/lib/ui/render.js +11 -0
- package/lib/ui/resolvable-component.d.ts +7 -0
- package/lib/ui/resolvable-component.js +87 -0
- package/lib/ui/switch.d.ts +11 -0
- package/lib/ui/switch.js +58 -0
- package/lib/ui/unmount.d.ts +2 -0
- package/lib/ui/unmount.js +4 -0
- package/lib/ui/use-component-node-properties.d.ts +3 -0
- package/lib/ui/use-component-node-properties.js +44 -0
- package/lib/ui/use-router.d.ts +4 -0
- package/lib/ui/use-router.js +32 -0
- package/lib/ui/view-outlet.d.ts +32 -0
- package/lib/ui/view-outlet.js +151 -0
- package/lib/ui/view.d.ts +6 -0
- package/lib/ui/view.js +75 -0
- package/lib/ui/wrapper.d.ts +7 -0
- package/lib/ui/wrapper.js +108 -0
- package/lib/widget.d.ts +54 -0
- package/lib/widget.js +554 -0
- package/lib-esm/component-platform-factory.d.ts +13 -0
- package/lib-esm/component-platform-factory.js +101 -0
- package/lib-esm/index.d.ts +4 -0
- package/lib-esm/index.js +4 -0
- package/lib-esm/services.d.ts +7 -0
- package/lib-esm/services.js +67 -0
- package/lib-esm/site-provider.d.ts +5 -0
- package/lib-esm/site-provider.js +14 -0
- package/lib-esm/ui/animated-view.d.ts +6 -0
- package/lib-esm/ui/animated-view.js +114 -0
- package/lib-esm/ui/component.d.ts +18 -0
- package/lib-esm/ui/component.js +150 -0
- package/lib-esm/ui/detached-component.d.ts +7 -0
- package/lib-esm/ui/detached-component.js +45 -0
- package/lib-esm/ui/determine-slide-direction.d.ts +26 -0
- package/lib-esm/ui/determine-slide-direction.js +46 -0
- package/lib-esm/ui/html-element-handlers.d.ts +18 -0
- package/lib-esm/ui/html-element-handlers.js +120 -0
- package/lib-esm/ui/index.d.ts +6 -0
- package/lib-esm/ui/index.js +6 -0
- package/lib-esm/ui/not-found.d.ts +6 -0
- package/lib-esm/ui/not-found.js +58 -0
- package/lib-esm/ui/prepare-dom.d.ts +20 -0
- package/lib-esm/ui/prepare-dom.js +116 -0
- package/lib-esm/ui/render.d.ts +3 -0
- package/lib-esm/ui/render.js +6 -0
- package/lib-esm/ui/resolvable-component.d.ts +7 -0
- package/lib-esm/ui/resolvable-component.js +62 -0
- package/lib-esm/ui/switch.d.ts +11 -0
- package/lib-esm/ui/switch.js +53 -0
- package/lib-esm/ui/unmount.d.ts +2 -0
- package/lib-esm/ui/unmount.js +2 -0
- package/lib-esm/ui/use-component-node-properties.d.ts +3 -0
- package/lib-esm/ui/use-component-node-properties.js +42 -0
- package/lib-esm/ui/use-router.d.ts +4 -0
- package/lib-esm/ui/use-router.js +30 -0
- package/lib-esm/ui/view-outlet.d.ts +32 -0
- package/lib-esm/ui/view-outlet.js +126 -0
- package/lib-esm/ui/view.d.ts +6 -0
- package/lib-esm/ui/view.js +70 -0
- package/lib-esm/ui/wrapper.d.ts +7 -0
- package/lib-esm/ui/wrapper.js +80 -0
- package/lib-esm/widget.d.ts +54 -0
- package/lib-esm/widget.js +551 -0
- package/package.json +52 -0
|
@@ -0,0 +1,87 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
52
|
+
var widget_ui_1 = require("@telia-ace/widget-ui");
|
|
53
|
+
var widget_utilities_1 = require("@telia-ace/widget-utilities");
|
|
54
|
+
var react_1 = __importStar(require("react"));
|
|
55
|
+
var styled_components_1 = __importStar(require("styled-components"));
|
|
56
|
+
var component_1 = require("./component");
|
|
57
|
+
var NonResolvedComponentWrapper = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n text-align: center;\n ", "\n ", "\n ", "\n"], ["\n text-align: center;\n ", "\n ", "\n ", "\n"])), function (p) {
|
|
58
|
+
var _a, _b, _c;
|
|
59
|
+
return typeof ((_a = p.theme.colors) === null || _a === void 0 ? void 0 : _a.warning) !== 'undefined' && (0, styled_components_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n color: ", ";\n border: 2px dashed ", ";\n "], ["\n color: ", ";\n border: 2px dashed ", ";\n "])), (_b = p.theme.colors) === null || _b === void 0 ? void 0 : _b.warning, (_c = p.theme.colors) === null || _c === void 0 ? void 0 : _c.warning);
|
|
60
|
+
}, function (p) {
|
|
61
|
+
return typeof p.theme.borderRadius !== 'undefined' && "border-radius: ".concat(p.theme.borderRadius, ";");
|
|
62
|
+
}, component_1.styling);
|
|
63
|
+
var ResolvableComponent = (0, react_1.forwardRef)(function (_a, ref) {
|
|
64
|
+
var _b = _a.className, className = _b === void 0 ? '' : _b, children = _a.children, other = __rest(_a, ["className", "children"]);
|
|
65
|
+
var ResolvedComponent = (0, widget_ui_1.useComponent)();
|
|
66
|
+
var _c = (0, widget_ui_1.useComponentDescriptor)(), name = _c.name, type = _c.type, id = _c.id;
|
|
67
|
+
var StyledResolvableComponent = (0, react_1.useMemo)(function () {
|
|
68
|
+
if (ResolvedComponent) {
|
|
69
|
+
return (0, styled_components_1.default)(ResolvedComponent)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n ", "\n ", "\n "], ["\n ", "\n ", "\n "])), component_1.styling, widget_ui_1.filterCssPropsStyle);
|
|
70
|
+
}
|
|
71
|
+
return null;
|
|
72
|
+
}, [ResolvedComponent]);
|
|
73
|
+
if (typeof ResolvedComponent === 'undefined') {
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
if (ResolvedComponent === null || StyledResolvableComponent === null) {
|
|
77
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
78
|
+
return (react_1.default.createElement(NonResolvedComponentWrapper, __assign({}, other, { title: "type: ".concat(type, ", definition-id: ").concat(name, ", instance-id: ").concat(id), className: (0, widget_utilities_1.appendClassNames)(className, 'humany-non-resolved-component') }),
|
|
79
|
+
react_1.default.createElement(widget_ui_1.Typography, { variant: "h5" }, "Non Resolved Component Type")));
|
|
80
|
+
}
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
return (react_1.default.createElement(react_1.Suspense, { fallback: null },
|
|
84
|
+
react_1.default.createElement(StyledResolvableComponent, __assign({ ref: ref }, other, { className: (0, widget_utilities_1.appendClassNames)(className, 'humany-component', "humany-component-".concat(name)) }), children)));
|
|
85
|
+
});
|
|
86
|
+
exports.default = ResolvableComponent;
|
|
87
|
+
var templateObject_1, templateObject_2, templateObject_3;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ViewDefinition } from '@telia-ace/widget-core';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
declare type Props = {
|
|
4
|
+
location?: any;
|
|
5
|
+
views: {
|
|
6
|
+
[key: string]: ViewDefinition;
|
|
7
|
+
};
|
|
8
|
+
render: (viewName: string) => JSX.Element | null;
|
|
9
|
+
};
|
|
10
|
+
declare const Switch: React.FC<Props>;
|
|
11
|
+
export default Switch;
|
package/lib/ui/switch.js
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
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 __read = (this && this.__read) || function (o, n) {
|
|
14
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
15
|
+
if (!m) return o;
|
|
16
|
+
var i = m.call(o), r, ar = [], e;
|
|
17
|
+
try {
|
|
18
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
19
|
+
}
|
|
20
|
+
catch (error) { e = { error: error }; }
|
|
21
|
+
finally {
|
|
22
|
+
try {
|
|
23
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
24
|
+
}
|
|
25
|
+
finally { if (e) throw e.error; }
|
|
26
|
+
}
|
|
27
|
+
return ar;
|
|
28
|
+
};
|
|
29
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
30
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
31
|
+
if (ar || !(i in from)) {
|
|
32
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
33
|
+
ar[i] = from[i];
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
37
|
+
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
var react_1 = __importDefault(require("react"));
|
|
43
|
+
var react_router_1 = require("react-router");
|
|
44
|
+
var Switch = function (_a) {
|
|
45
|
+
var views = _a.views, location = _a.location, render = _a.render;
|
|
46
|
+
return (react_1.default.createElement(react_router_1.Switch, { location: location
|
|
47
|
+
? __assign(__assign({}, location), { pathname: location.pathname.split('?')[0] }) : location }, __spreadArray(__spreadArray([], __read(Object.keys(views).filter(function (key) { return !!views[key].path; })), false), __read(Object.keys(views).filter(function (key) { return !views[key].path; })), false).map(function (name) {
|
|
48
|
+
var path = views[name].path;
|
|
49
|
+
if (!path) {
|
|
50
|
+
return react_1.default.createElement(react_router_1.Route, { key: name, render: function () { return render(name); } });
|
|
51
|
+
}
|
|
52
|
+
if (Array.isArray(path)) {
|
|
53
|
+
return path.map(function (path) { return (react_1.default.createElement(react_router_1.Route, { key: name, exact: true, path: path, render: function () { return render(name); } })); });
|
|
54
|
+
}
|
|
55
|
+
return react_1.default.createElement(react_router_1.Route, { key: name, exact: true, path: path, render: function () { return render(name); } });
|
|
56
|
+
})));
|
|
57
|
+
};
|
|
58
|
+
exports.default = Switch;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
3
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
|
+
if (!m) return o;
|
|
5
|
+
var i = m.call(o), r, ar = [], e;
|
|
6
|
+
try {
|
|
7
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
8
|
+
}
|
|
9
|
+
catch (error) { e = { error: error }; }
|
|
10
|
+
finally {
|
|
11
|
+
try {
|
|
12
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
13
|
+
}
|
|
14
|
+
finally { if (e) throw e.error; }
|
|
15
|
+
}
|
|
16
|
+
return ar;
|
|
17
|
+
};
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
var widget_ui_1 = require("@telia-ace/widget-ui");
|
|
20
|
+
var react_1 = require("react");
|
|
21
|
+
exports.default = (function (id) {
|
|
22
|
+
var node = (0, widget_ui_1.useComponentNode)(id);
|
|
23
|
+
var components = (0, widget_ui_1.useComponentPlatform)();
|
|
24
|
+
var _a = __read((0, react_1.useState)({}), 2), properties = _a[0], setProperties = _a[1];
|
|
25
|
+
var isMounted = (0, widget_ui_1.useIsMounted)();
|
|
26
|
+
(0, react_1.useEffect)(function () {
|
|
27
|
+
if (node && isMounted.current) {
|
|
28
|
+
setProperties(node.attributes.properties);
|
|
29
|
+
}
|
|
30
|
+
}, [node, id, isMounted]);
|
|
31
|
+
(0, react_1.useEffect)(function () {
|
|
32
|
+
if (components) {
|
|
33
|
+
var unsubscribe_1 = components.events.subscribe('components:properties-changed', function (event, data) {
|
|
34
|
+
if (node === data.node && isMounted.current) {
|
|
35
|
+
setProperties(data.node.attributes.properties);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
return function () {
|
|
39
|
+
unsubscribe_1();
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
}, [components, isMounted, id, node]);
|
|
43
|
+
return properties;
|
|
44
|
+
});
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
3
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
|
+
if (!m) return o;
|
|
5
|
+
var i = m.call(o), r, ar = [], e;
|
|
6
|
+
try {
|
|
7
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
8
|
+
}
|
|
9
|
+
catch (error) { e = { error: error }; }
|
|
10
|
+
finally {
|
|
11
|
+
try {
|
|
12
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
13
|
+
}
|
|
14
|
+
finally { if (e) throw e.error; }
|
|
15
|
+
}
|
|
16
|
+
return ar;
|
|
17
|
+
};
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
var widget_ui_1 = require("@telia-ace/widget-ui");
|
|
20
|
+
var react_1 = require("react");
|
|
21
|
+
exports.default = (function (container) {
|
|
22
|
+
var _a = __read((0, react_1.useState)(null), 2), router = _a[0], setRouter = _a[1];
|
|
23
|
+
var isMounted = (0, widget_ui_1.useIsMounted)();
|
|
24
|
+
(0, react_1.useEffect)(function () {
|
|
25
|
+
container.getAsync('router').then(function (router) {
|
|
26
|
+
if (isMounted.current) {
|
|
27
|
+
setRouter(router);
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}, [container, isMounted]);
|
|
31
|
+
return router;
|
|
32
|
+
});
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Symbol } from '@telia-ace/widget-ui';
|
|
2
|
+
import { Container } from '@webprovisions/platform';
|
|
3
|
+
import { TriggerType } from './prepare-dom';
|
|
4
|
+
export declare type BadgeOptions = {
|
|
5
|
+
symbol?: Symbol;
|
|
6
|
+
label?: string;
|
|
7
|
+
ariaLabel?: string;
|
|
8
|
+
openTooltip?: string;
|
|
9
|
+
closedTooltip?: string;
|
|
10
|
+
};
|
|
11
|
+
export declare type ViewOutletOptions = {
|
|
12
|
+
widgetDOMElement: HTMLElement;
|
|
13
|
+
triggerDOMElement?: HTMLElement;
|
|
14
|
+
triggerOptions?: BadgeOptions | boolean;
|
|
15
|
+
triggerType: TriggerType;
|
|
16
|
+
cachedOriginals: {
|
|
17
|
+
widgetDOMElement?: Node;
|
|
18
|
+
triggerDOMElement?: Node;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
export declare class ViewOutlet {
|
|
22
|
+
options: ViewOutletOptions;
|
|
23
|
+
container: Container;
|
|
24
|
+
private unsubscribe;
|
|
25
|
+
constructor(container: Container, options: ViewOutletOptions);
|
|
26
|
+
/**
|
|
27
|
+
* Renders the view outlet to the DOM.
|
|
28
|
+
*/
|
|
29
|
+
render(): Promise<void>;
|
|
30
|
+
renderBadge(options: BadgeOptions): void;
|
|
31
|
+
dispose(): Promise<void>;
|
|
32
|
+
}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
26
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
27
|
+
if (!m) return o;
|
|
28
|
+
var i = m.call(o), r, ar = [], e;
|
|
29
|
+
try {
|
|
30
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
31
|
+
}
|
|
32
|
+
catch (error) { e = { error: error }; }
|
|
33
|
+
finally {
|
|
34
|
+
try {
|
|
35
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
36
|
+
}
|
|
37
|
+
finally { if (e) throw e.error; }
|
|
38
|
+
}
|
|
39
|
+
return ar;
|
|
40
|
+
};
|
|
41
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
42
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
43
|
+
if (ar || !(i in from)) {
|
|
44
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
45
|
+
ar[i] = from[i];
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
49
|
+
};
|
|
50
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
51
|
+
exports.ViewOutlet = void 0;
|
|
52
|
+
var widget_services_1 = require("@telia-ace/widget-services");
|
|
53
|
+
var widget_utilities_1 = require("@telia-ace/widget-utilities");
|
|
54
|
+
var html_element_handlers_1 = require("./html-element-handlers");
|
|
55
|
+
var prepare_dom_1 = require("./prepare-dom");
|
|
56
|
+
var MODALS_STORAGE_KEY = 'modals';
|
|
57
|
+
var ViewOutlet = /** @class */ (function () {
|
|
58
|
+
function ViewOutlet(container, options) {
|
|
59
|
+
this.options = options;
|
|
60
|
+
this.unsubscribe = [];
|
|
61
|
+
this.container = container.createChild(this);
|
|
62
|
+
this.container.register('widgetDOMElement', this.options.widgetDOMElement);
|
|
63
|
+
this.container.register('triggerDOMElement', this.options.triggerDOMElement);
|
|
64
|
+
var widget = this.container.get('$widget');
|
|
65
|
+
this.options.widgetDOMElement.classList.add('humany-widget');
|
|
66
|
+
this.options.widgetDOMElement.classList.add("humany_".concat(widget.name));
|
|
67
|
+
var widgetDOMElements = container.get('widgetDOMElements') || [];
|
|
68
|
+
container.register('widgetDOMElements', __spreadArray(__spreadArray([], __read(widgetDOMElements), false), [
|
|
69
|
+
this.options.widgetDOMElement,
|
|
70
|
+
], false));
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Renders the view outlet to the DOM.
|
|
74
|
+
*/
|
|
75
|
+
ViewOutlet.prototype.render = function () {
|
|
76
|
+
var _this = this;
|
|
77
|
+
var _a = this.options, widgetDOMElement = _a.widgetDOMElement, triggerDOMElement = _a.triggerDOMElement;
|
|
78
|
+
var widget = this.container.get('$widget');
|
|
79
|
+
if (widgetDOMElement.getAttribute('data-rendered') === 'true') {
|
|
80
|
+
return Promise.resolve();
|
|
81
|
+
}
|
|
82
|
+
if (triggerDOMElement && this.options.triggerType === prepare_dom_1.TriggerType.Badge) {
|
|
83
|
+
(0, html_element_handlers_1.setLoading)(triggerDOMElement);
|
|
84
|
+
}
|
|
85
|
+
return Promise.resolve().then(function () { return __importStar(require('./render')); }).then(function (module) { return module.default(_this.container, widgetDOMElement); })
|
|
86
|
+
.then(function () {
|
|
87
|
+
widgetDOMElement.setAttribute('data-rendered', 'true');
|
|
88
|
+
if (triggerDOMElement && _this.options.triggerType === prepare_dom_1.TriggerType.Badge) {
|
|
89
|
+
var tooltip = _this.options.triggerOptions.openTooltip;
|
|
90
|
+
(0, html_element_handlers_1.setActive)(triggerDOMElement, tooltip);
|
|
91
|
+
}
|
|
92
|
+
(0, widget_utilities_1.notifyDataLoaded)(_this.container, widgetDOMElement);
|
|
93
|
+
var widgets = _this.container.get('$environment').widgets.all();
|
|
94
|
+
(0, widget_services_1.readStorage)(_this.container, MODALS_STORAGE_KEY, widget_services_1.StorageMedium.Session).then(function (modals) {
|
|
95
|
+
if (modals) {
|
|
96
|
+
modals.forEach(function (modal) {
|
|
97
|
+
if (widgets.find(function (w) { return w.name === modal.name && w.state === 'activated'; })) {
|
|
98
|
+
widget.events.dispatch('widget:modal-opened', modal);
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
};
|
|
105
|
+
ViewOutlet.prototype.renderBadge = function (options) {
|
|
106
|
+
var triggerDOMElement = this.options.triggerDOMElement;
|
|
107
|
+
if (!triggerDOMElement) {
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
if (!triggerDOMElement.getAttribute('role')) {
|
|
111
|
+
triggerDOMElement.setAttribute('role', 'button');
|
|
112
|
+
}
|
|
113
|
+
var name = this.container.get('$widget').name;
|
|
114
|
+
var label = options.label, symbol = options.symbol, ariaLabel = options.ariaLabel, closedTooltip = options.closedTooltip, openTooltip = options.openTooltip;
|
|
115
|
+
var triggerOptions = { closedTooltip: closedTooltip, openTooltip: openTooltip };
|
|
116
|
+
this.options.triggerOptions = triggerOptions;
|
|
117
|
+
var removeTriggerListeners = (0, html_element_handlers_1.createTriggerElement)(triggerDOMElement, {
|
|
118
|
+
label: label,
|
|
119
|
+
symbol: symbol,
|
|
120
|
+
ariaLabel: ariaLabel,
|
|
121
|
+
widgetName: name,
|
|
122
|
+
tooltip: closedTooltip,
|
|
123
|
+
});
|
|
124
|
+
this.unsubscribe.push(removeTriggerListeners);
|
|
125
|
+
};
|
|
126
|
+
ViewOutlet.prototype.dispose = function () {
|
|
127
|
+
var _this = this;
|
|
128
|
+
return Promise.resolve().then(function () { return __importStar(require('./unmount')); }).then(function (module) {
|
|
129
|
+
var _a, _b, _c, _d;
|
|
130
|
+
var _e = _this.options, triggerDOMElement = _e.triggerDOMElement, widgetDOMElement = _e.widgetDOMElement;
|
|
131
|
+
module.default(widgetDOMElement);
|
|
132
|
+
if (_this.options.cachedOriginals.widgetDOMElement) {
|
|
133
|
+
if (widgetDOMElement) {
|
|
134
|
+
(_a = widgetDOMElement.parentNode) === null || _a === void 0 ? void 0 : _a.replaceChild(_this.options.cachedOriginals.widgetDOMElement, widgetDOMElement);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
if (_this.options.cachedOriginals.triggerDOMElement) {
|
|
138
|
+
if (triggerDOMElement) {
|
|
139
|
+
(_b = triggerDOMElement.parentNode) === null || _b === void 0 ? void 0 : _b.replaceChild(_this.options.cachedOriginals.triggerDOMElement, triggerDOMElement);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
_this.unsubscribe.forEach(function (unsubscribe) {
|
|
143
|
+
unsubscribe();
|
|
144
|
+
});
|
|
145
|
+
(_c = widgetDOMElement.parentNode) === null || _c === void 0 ? void 0 : _c.removeChild(widgetDOMElement);
|
|
146
|
+
(_d = triggerDOMElement === null || triggerDOMElement === void 0 ? void 0 : triggerDOMElement.parentNode) === null || _d === void 0 ? void 0 : _d.removeChild(triggerDOMElement);
|
|
147
|
+
});
|
|
148
|
+
};
|
|
149
|
+
return ViewOutlet;
|
|
150
|
+
}());
|
|
151
|
+
exports.ViewOutlet = ViewOutlet;
|
package/lib/ui/view.d.ts
ADDED
package/lib/ui/view.js
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
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 __rest = (this && this.__rest) || function (s, e) {
|
|
18
|
+
var t = {};
|
|
19
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
20
|
+
t[p] = s[p];
|
|
21
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
22
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
23
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
24
|
+
t[p[i]] = s[p[i]];
|
|
25
|
+
}
|
|
26
|
+
return t;
|
|
27
|
+
};
|
|
28
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
29
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
30
|
+
if (!m) return o;
|
|
31
|
+
var i = m.call(o), r, ar = [], e;
|
|
32
|
+
try {
|
|
33
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
34
|
+
}
|
|
35
|
+
catch (error) { e = { error: error }; }
|
|
36
|
+
finally {
|
|
37
|
+
try {
|
|
38
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
39
|
+
}
|
|
40
|
+
finally { if (e) throw e.error; }
|
|
41
|
+
}
|
|
42
|
+
return ar;
|
|
43
|
+
};
|
|
44
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
45
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
46
|
+
};
|
|
47
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
|
+
var widget_ui_1 = require("@telia-ace/widget-ui");
|
|
49
|
+
var widget_utilities_1 = require("@telia-ace/widget-utilities");
|
|
50
|
+
var react_1 = __importDefault(require("react"));
|
|
51
|
+
var styled_components_1 = __importDefault(require("styled-components"));
|
|
52
|
+
var component_1 = __importDefault(require("./component"));
|
|
53
|
+
var switch_1 = __importDefault(require("./switch"));
|
|
54
|
+
var StyledView = (0, styled_components_1.default)(widget_ui_1.Grid)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (p) { return !!p.scrollableCss && p.scrollableCss; });
|
|
55
|
+
var View = function (_a) {
|
|
56
|
+
var _b = _a.className, className = _b === void 0 ? '' : _b, other = __rest(_a, ["className"]);
|
|
57
|
+
var properties = (0, widget_ui_1.useProperties)();
|
|
58
|
+
var context = (0, widget_ui_1.useContext)();
|
|
59
|
+
var container = (0, widget_ui_1.useContainer)();
|
|
60
|
+
var node = (0, widget_ui_1.useComponentNode)();
|
|
61
|
+
var views = container.get('$settings').views;
|
|
62
|
+
var _c = context.gap, gap = _c === void 0 ? '0' : _c;
|
|
63
|
+
var _d = properties.columns, columns = _d === void 0 ? 1 : _d, _e = properties.animation, animation = _e === void 0 ? 'none' : _e, _f = properties.scrollable, scrollable = _f === void 0 ? false : _f, areaProperties = __rest(properties, ["columns", "animation", "scrollable"]);
|
|
64
|
+
var _g = __read((0, widget_ui_1.useScroll)(scrollable), 2), scrollableCss = _g[0], elem = _g[1];
|
|
65
|
+
if (!node) {
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
return (react_1.default.createElement(StyledView, __assign({}, other, areaProperties, { scrollableCss: scrollableCss, ref: elem, columns: columns, gap: gap, className: (0, widget_utilities_1.appendClassNames)(className, 'humany-view') }),
|
|
69
|
+
react_1.default.createElement(switch_1.default, { views: views, render: function (name) {
|
|
70
|
+
var childNode = node.getChildren(name)[0];
|
|
71
|
+
return react_1.default.createElement(component_1.default, { id: childNode.id, node: childNode, branch: "default" });
|
|
72
|
+
} })));
|
|
73
|
+
};
|
|
74
|
+
exports.default = View;
|
|
75
|
+
var templateObject_1;
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
26
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
27
|
+
if (!m) return o;
|
|
28
|
+
var i = m.call(o), r, ar = [], e;
|
|
29
|
+
try {
|
|
30
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
31
|
+
}
|
|
32
|
+
catch (error) { e = { error: error }; }
|
|
33
|
+
finally {
|
|
34
|
+
try {
|
|
35
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
36
|
+
}
|
|
37
|
+
finally { if (e) throw e.error; }
|
|
38
|
+
}
|
|
39
|
+
return ar;
|
|
40
|
+
};
|
|
41
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
42
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
43
|
+
};
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
var widget_ui_1 = require("@telia-ace/widget-ui");
|
|
46
|
+
var widget_utilities_1 = require("@telia-ace/widget-utilities");
|
|
47
|
+
var react_1 = __importStar(require("react"));
|
|
48
|
+
var react_router_dom_1 = require("react-router-dom");
|
|
49
|
+
var component_1 = __importDefault(require("./component"));
|
|
50
|
+
var use_router_1 = __importDefault(require("./use-router"));
|
|
51
|
+
var keyNavigationKeys = ['Tab', 'ArrowDown', 'ArrowUp', 'ArrowRight', 'ArrowLeft'];
|
|
52
|
+
var Wrapper = function (_a) {
|
|
53
|
+
var container = _a.container;
|
|
54
|
+
var components = (0, widget_ui_1.useComponentPlatform)(container);
|
|
55
|
+
var router = (0, use_router_1.default)(container);
|
|
56
|
+
var env = container.get('$environment');
|
|
57
|
+
var _b = __read((0, react_1.useState)((env === null || env === void 0 ? void 0 : env.container.get('isTabbing')) || false), 2), isTabbing = _b[0], setIsTabbing = _b[1];
|
|
58
|
+
var _c = __read((0, react_1.useState)(null), 2), entry = _c[0], setEntry = _c[1];
|
|
59
|
+
(0, react_1.useEffect)(function () {
|
|
60
|
+
var keydown = function (event) {
|
|
61
|
+
if (keyNavigationKeys.indexOf(event.key) > -1) {
|
|
62
|
+
if (!isTabbing) {
|
|
63
|
+
env === null || env === void 0 ? void 0 : env.container.register('isTabbing', true);
|
|
64
|
+
}
|
|
65
|
+
setIsTabbing(true);
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
var click = function (event) {
|
|
69
|
+
if (event.screenX === 0 && event.screenY === 0) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
if (isTabbing) {
|
|
73
|
+
env === null || env === void 0 ? void 0 : env.container.register('isTabbing', false);
|
|
74
|
+
}
|
|
75
|
+
setIsTabbing(false);
|
|
76
|
+
};
|
|
77
|
+
window.addEventListener('keydown', keydown);
|
|
78
|
+
window.addEventListener('click', click);
|
|
79
|
+
return function () {
|
|
80
|
+
window.removeEventListener('keydown', keydown);
|
|
81
|
+
window.removeEventListener('click', click);
|
|
82
|
+
};
|
|
83
|
+
}, []);
|
|
84
|
+
(0, react_1.useEffect)(function () {
|
|
85
|
+
if (components) {
|
|
86
|
+
setEntry(components.nodes.root.children.default[0].id || null);
|
|
87
|
+
var unsubscribe = components.events.subscribe('components:root-children-changed', function (event, _a) {
|
|
88
|
+
var node = _a.node;
|
|
89
|
+
if (node.parent && node.parent.type === 'root') {
|
|
90
|
+
var entry_1 = node.parent.children.default[0].id;
|
|
91
|
+
setEntry(entry_1);
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
return unsubscribe;
|
|
95
|
+
}
|
|
96
|
+
}, [components]);
|
|
97
|
+
if (!router || !router.history || !components) {
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
if (!entry) {
|
|
101
|
+
return null;
|
|
102
|
+
}
|
|
103
|
+
return (react_1.default.createElement(react_router_dom_1.Router, { history: router.history },
|
|
104
|
+
react_1.default.createElement(widget_ui_1.ContainerContext.Provider, { value: container },
|
|
105
|
+
react_1.default.createElement(widget_ui_1.RoutingContext.Provider, { value: router },
|
|
106
|
+
react_1.default.createElement(component_1.default, { className: (0, widget_utilities_1.appendClassNames)([isTabbing, 'humany-is-tabbing']), isTabbing: isTabbing, id: entry, branch: "default" })))));
|
|
107
|
+
};
|
|
108
|
+
exports.default = Wrapper;
|