@telia-ace/widget-components-area 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 ADDED
@@ -0,0 +1,6 @@
1
+ Copyright © 2021, Telia Company AB. All rights reserved.
2
+
3
+ THIS PACKAGE AND CONTAINING SOFTWARE IS PART OF
4
+ THE HUMANY SERVICE. BY USING THIS SOFTWARE YOU
5
+ AGREE TO THE FOLLOWING TERMS AND CONDITIONS:
6
+ http://www.humany.com/legal
package/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # `@telia-ace/widget-components-area`
2
+
3
+ Area component for ACE Widgets.
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const Area: React.FC<any>;
3
+ export default Area;
@@ -0,0 +1,70 @@
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_core_1 = require("@telia-ace/widget-core");
53
+ var widget_types_grid_1 = require("@telia-ace/widget-types-grid");
54
+ var widget_ui_1 = require("@telia-ace/widget-ui");
55
+ var widget_utilities_1 = require("@telia-ace/widget-utilities");
56
+ var react_1 = __importStar(require("react"));
57
+ var styled_components_1 = __importStar(require("styled-components"));
58
+ var Area = (0, react_1.forwardRef)(function (_a, ref) {
59
+ var children = _a.children, className = _a.className, renderState = _a.renderState, animation = _a.animation, other = __rest(_a, ["children", "className", "renderState", "animation"]);
60
+ if (!renderState) {
61
+ return null;
62
+ }
63
+ return (react_1.default.createElement(widget_ui_1.TransitionComponent, { mountOnEnter: renderState !== widget_core_1.WidgetRenderState.hidden, timeout: 200, in: renderState === widget_core_1.WidgetRenderState.open, transitions: animation, unmountOnExit: renderState === widget_core_1.WidgetRenderState.closed }, function (state, css) { return (react_1.default.createElement(Wrapper, __assign({}, other, { animationCss: css, "data-state": state, ref: ref, className: (0, widget_utilities_1.appendClassNames)('humany-animated-area', className) }), children)); }));
64
+ });
65
+ exports.default = Area;
66
+ var Wrapper = (0, styled_components_1.default)(widget_ui_1.Grid)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n ", "\n ", "\n ", "\n text-size-adjust: 100%;\n input::-ms-clear {\n display: none;\n }\n ", ";\n"], ["\n ", "\n ", "\n ", "\n text-size-adjust: 100%;\n input::-ms-clear {\n display: none;\n }\n ", ";\n"])), widget_types_grid_1.genericComponentStyling, function (p) { return !!p.animationCss && p.animationCss; }, function (p) { return !!p.scrollableCss && p.scrollableCss; }, function (p) {
67
+ return p.hidden &&
68
+ p['data-state'] === 'exited' && (0, styled_components_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n visibility: collapse;\n pointer-events: none;\n "], ["\n visibility: collapse;\n pointer-events: none;\n "])));
69
+ });
70
+ var templateObject_1, templateObject_2;
@@ -0,0 +1,27 @@
1
+ import { Container } from '@webprovisions/platform';
2
+ declare type Symbol = {
3
+ type: 'Uri' | 'Svg' | 'FontAwesome' | 'Text' | string;
4
+ content: string;
5
+ };
6
+ export declare enum AreaMode {
7
+ Static = "static",
8
+ Drawer = "drawer",
9
+ Dropdown = "dropdown",
10
+ Modal = "modal"
11
+ }
12
+ export declare type AreaComponentProps = {
13
+ mode: AreaMode;
14
+ animation?: string;
15
+ fullScreen?: boolean;
16
+ columns?: number;
17
+ scrollable?: boolean;
18
+ header?: string;
19
+ trigger?: {
20
+ symbol?: Symbol;
21
+ label?: string;
22
+ size?: number;
23
+ ariaLabel?: string;
24
+ };
25
+ };
26
+ export declare const AreaComponent: (container: Container) => Promise<void>;
27
+ export default AreaComponent;
@@ -0,0 +1,39 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.AreaComponent = exports.AreaMode = void 0;
27
+ var widget_ui_1 = require("@telia-ace/widget-ui");
28
+ var AreaMode;
29
+ (function (AreaMode) {
30
+ AreaMode["Static"] = "static";
31
+ AreaMode["Drawer"] = "drawer";
32
+ AreaMode["Dropdown"] = "dropdown";
33
+ AreaMode["Modal"] = "modal";
34
+ })(AreaMode = exports.AreaMode || (exports.AreaMode = {}));
35
+ var AreaComponent = function (container) {
36
+ return (0, widget_ui_1.createReactComponent)(container, 'area', Promise.resolve().then(function () { return __importStar(require('./area')); }), function (component) { });
37
+ };
38
+ exports.AreaComponent = AreaComponent;
39
+ exports.default = exports.AreaComponent;
package/lib/area.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const Area: React.FC<any>;
3
+ export default Area;
package/lib/area.js ADDED
@@ -0,0 +1,148 @@
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 __read = (this && this.__read) || function (o, n) {
52
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
53
+ if (!m) return o;
54
+ var i = m.call(o), r, ar = [], e;
55
+ try {
56
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
57
+ }
58
+ catch (error) { e = { error: error }; }
59
+ finally {
60
+ try {
61
+ if (r && !r.done && (m = i["return"])) m.call(i);
62
+ }
63
+ finally { if (e) throw e.error; }
64
+ }
65
+ return ar;
66
+ };
67
+ var __importDefault = (this && this.__importDefault) || function (mod) {
68
+ return (mod && mod.__esModule) ? mod : { "default": mod };
69
+ };
70
+ Object.defineProperty(exports, "__esModule", { value: true });
71
+ var widget_core_1 = require("@telia-ace/widget-core");
72
+ var widget_types_grid_1 = require("@telia-ace/widget-types-grid");
73
+ var widget_ui_1 = require("@telia-ace/widget-ui");
74
+ var widget_utilities_1 = require("@telia-ace/widget-utilities");
75
+ var react_1 = __importStar(require("react"));
76
+ var styled_components_1 = __importStar(require("styled-components"));
77
+ var animated_area_1 = __importDefault(require("./animated-area"));
78
+ var area_component_1 = require("./area-component");
79
+ var Area = function (_a) {
80
+ var className = _a.className, other = __rest(_a, ["className"]);
81
+ var name = (0, widget_ui_1.useComponentDescriptor)().name;
82
+ var renderState = (0, widget_ui_1.useRenderState)();
83
+ var context = (0, widget_ui_1.useContext)();
84
+ var properties = (0, widget_ui_1.useProperties)();
85
+ var children = (0, widget_ui_1.useChildren)();
86
+ var container = (0, widget_ui_1.useContainer)();
87
+ var _b = context.gap, gap = _b === void 0 ? '0' : _b;
88
+ var _c = properties.columns, columns = _c === void 0 ? 1 : _c, _d = properties.animation, animation = _d === void 0 ? 'none' : _d, _e = properties.scrollable, scrollable = _e === void 0 ? false : _e, _f = properties.mode, mode = _f === void 0 ? area_component_1.AreaMode.Static : _f, _g = properties.trigger, trigger = _g === void 0 ? {} : _g, fullScreen = properties.fullScreen, header = properties.header, areaProperties = __rest(properties, ["columns", "animation", "scrollable", "mode", "trigger", "fullScreen", "header"]);
89
+ var _h = trigger.size, size = _h === void 0 ? 24 : _h, symbol = trigger.symbol, label = trigger.label, ariaLabel = trigger.ariaLabel, otherTriggerProps = __rest(trigger, ["size", "symbol", "label", "ariaLabel"]);
90
+ var _j = __read((0, widget_ui_1.useScroll)(scrollable), 2), scrollableCss = _j[0], elem = _j[1];
91
+ var setRef = (0, react_1.useCallback)(function (node) {
92
+ var events = container.get('$widget').events;
93
+ events.dispatch('widget:area-rendered', {
94
+ name: name,
95
+ properties: properties,
96
+ element: node,
97
+ });
98
+ elem.current = node;
99
+ return node;
100
+ }, [properties, renderState]);
101
+ if (!children.length) {
102
+ return (0, widget_ui_1.createEmptyComponent)(container, __assign(__assign({}, other), { className: (0, widget_utilities_1.appendClassNames)(className, 'humany-area') }));
103
+ }
104
+ var props = __assign(__assign(__assign(__assign({}, other), { className: (0, widget_utilities_1.appendClassNames)(className, 'humany-area', "humany-area-".concat(name)), scrollableCss: scrollableCss }), areaProperties), { columns: columns, gap: gap, renderState: renderState, animation: animation, hidden: renderState === widget_core_1.WidgetRenderState.hidden, ref: setRef });
105
+ var content = (function () {
106
+ if (animation !== 'none') {
107
+ return (react_1.default.createElement(widget_ui_1.ColumnContext.Provider, { value: columns },
108
+ react_1.default.createElement(animated_area_1.default, __assign({}, props), children.map(function (child) { return (react_1.default.createElement(widget_types_grid_1.Component, { key: child.id, id: child.id, branch: "default" })); }))));
109
+ }
110
+ if (renderState === widget_core_1.WidgetRenderState.closed) {
111
+ return null;
112
+ }
113
+ return (react_1.default.createElement(widget_ui_1.ColumnContext.Provider, { value: columns },
114
+ react_1.default.createElement(Wrapper, __assign({}, props), children.map(function (child) { return (react_1.default.createElement(widget_types_grid_1.Component, { key: child.id, id: child.id, branch: "default" })); }))));
115
+ })();
116
+ if (mode === area_component_1.AreaMode.Static) {
117
+ return content;
118
+ }
119
+ var triggerButton = (react_1.default.createElement(Trigger, __assign({ className: "humany-area-trigger", title: ariaLabel }, (0, widget_ui_1.filterCssProps)(otherTriggerProps)),
120
+ label && react_1.default.createElement(TriggerLabel, null, label),
121
+ symbol && react_1.default.createElement(TriggerSymbolBadge, { symbol: symbol, size: size })));
122
+ if (mode === area_component_1.AreaMode.Dropdown) {
123
+ return react_1.default.createElement(widget_ui_1.Dropdown, { trigger: triggerButton }, content);
124
+ }
125
+ if (mode === area_component_1.AreaMode.Drawer) {
126
+ var drawerAnimation = (Object.values(widget_ui_1.DrawerAnimationType).includes(animation) && {
127
+ type: animation,
128
+ }) ||
129
+ undefined;
130
+ return (react_1.default.createElement(widget_ui_1.Drawer, { header: header, animation: drawerAnimation, fullScreen: fullScreen, trigger: triggerButton }, content));
131
+ }
132
+ if (mode === area_component_1.AreaMode.Modal) {
133
+ widget_utilities_1.Logger.warn('modal area not implemented');
134
+ return null;
135
+ }
136
+ return null;
137
+ };
138
+ exports.default = Area;
139
+ var Trigger = (0, styled_components_1.default)(widget_ui_1.Button)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n align-items: inherit;\n align-self: center;\n width: fit-content;\n height: fit-content;\n ", "\n\n ", "\n\n &:focus {\n ", ";\n }\n"], ["\n display: flex;\n align-items: inherit;\n align-self: center;\n width: fit-content;\n height: fit-content;\n ", "\n\n ", "\n\n &:focus {\n ", ";\n }\n"])), widget_ui_1.filterCssPropsStyle, function (p) {
140
+ return p.theme.fonts &&
141
+ "\n font-family: ".concat(p.theme.fonts.type, ";\n font-size: ").concat(p.theme.fonts.normal, ";\n ");
142
+ }, function (p) { var _a; return ((_a = p.theme.accessibility) === null || _a === void 0 ? void 0 : _a.isTabbing) && widget_ui_1.paddedBorderTabStyle; });
143
+ var TriggerLabel = (0, styled_components_1.default)(widget_ui_1.Text)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n margin: 0 ", " 0 0;\n color: ", ";\n"], ["\n margin: 0 ", " 0 0;\n color: ", ";\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.text; });
144
+ var TriggerSymbolBadge = (0, styled_components_1.default)(widget_ui_1.SymbolBadge)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n path {\n fill: ", ";\n }\n"], ["\n path {\n fill: ", ";\n }\n"])), function (p) { var _a; return (_a = p.theme.colors) === null || _a === void 0 ? void 0 : _a.text; });
145
+ var Wrapper = (0, styled_components_1.default)(widget_ui_1.Grid)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n ", "\n ", "\n text-size-adjust: 100%;\n input::-ms-clear {\n display: none;\n }\n ", ";\n"], ["\n ", "\n ", "\n text-size-adjust: 100%;\n input::-ms-clear {\n display: none;\n }\n ", ";\n"])), widget_types_grid_1.genericComponentStyling, function (p) { return !!p.scrollableCss && p.scrollableCss; }, function (p) {
146
+ return p.hidden && (0, styled_components_1.css)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n visibility: collapse;\n pointer-events: none;\n "], ["\n visibility: collapse;\n pointer-events: none;\n "])));
147
+ });
148
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
package/lib/index.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ import AreaComponent from './area-component';
2
+ export default AreaComponent;
package/lib/index.js ADDED
@@ -0,0 +1,7 @@
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 area_component_1 = __importDefault(require("./area-component"));
7
+ exports.default = area_component_1.default;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const Area: React.FC<any>;
3
+ export default Area;
@@ -0,0 +1,45 @@
1
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
2
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
3
+ return cooked;
4
+ };
5
+ var __assign = (this && this.__assign) || function () {
6
+ __assign = Object.assign || function(t) {
7
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
8
+ s = arguments[i];
9
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
10
+ t[p] = s[p];
11
+ }
12
+ return t;
13
+ };
14
+ return __assign.apply(this, arguments);
15
+ };
16
+ var __rest = (this && this.__rest) || function (s, e) {
17
+ var t = {};
18
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
19
+ t[p] = s[p];
20
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
21
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
22
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
23
+ t[p[i]] = s[p[i]];
24
+ }
25
+ return t;
26
+ };
27
+ import { WidgetRenderState } from '@telia-ace/widget-core';
28
+ import { genericComponentStyling } from '@telia-ace/widget-types-grid';
29
+ import { Grid, TransitionComponent } from '@telia-ace/widget-ui';
30
+ import { appendClassNames } from '@telia-ace/widget-utilities';
31
+ import React, { forwardRef } from 'react';
32
+ import styled, { css } from 'styled-components';
33
+ var Area = forwardRef(function (_a, ref) {
34
+ var children = _a.children, className = _a.className, renderState = _a.renderState, animation = _a.animation, other = __rest(_a, ["children", "className", "renderState", "animation"]);
35
+ if (!renderState) {
36
+ return null;
37
+ }
38
+ return (React.createElement(TransitionComponent, { mountOnEnter: renderState !== WidgetRenderState.hidden, timeout: 200, in: renderState === WidgetRenderState.open, transitions: animation, unmountOnExit: renderState === WidgetRenderState.closed }, function (state, css) { return (React.createElement(Wrapper, __assign({}, other, { animationCss: css, "data-state": state, ref: ref, className: appendClassNames('humany-animated-area', className) }), children)); }));
39
+ });
40
+ export default Area;
41
+ var Wrapper = styled(Grid)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n ", "\n ", "\n ", "\n text-size-adjust: 100%;\n input::-ms-clear {\n display: none;\n }\n ", ";\n"], ["\n ", "\n ", "\n ", "\n text-size-adjust: 100%;\n input::-ms-clear {\n display: none;\n }\n ", ";\n"])), genericComponentStyling, function (p) { return !!p.animationCss && p.animationCss; }, function (p) { return !!p.scrollableCss && p.scrollableCss; }, function (p) {
42
+ return p.hidden &&
43
+ p['data-state'] === 'exited' && css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n visibility: collapse;\n pointer-events: none;\n "], ["\n visibility: collapse;\n pointer-events: none;\n "])));
44
+ });
45
+ var templateObject_1, templateObject_2;
@@ -0,0 +1,27 @@
1
+ import { Container } from '@webprovisions/platform';
2
+ declare type Symbol = {
3
+ type: 'Uri' | 'Svg' | 'FontAwesome' | 'Text' | string;
4
+ content: string;
5
+ };
6
+ export declare enum AreaMode {
7
+ Static = "static",
8
+ Drawer = "drawer",
9
+ Dropdown = "dropdown",
10
+ Modal = "modal"
11
+ }
12
+ export declare type AreaComponentProps = {
13
+ mode: AreaMode;
14
+ animation?: string;
15
+ fullScreen?: boolean;
16
+ columns?: number;
17
+ scrollable?: boolean;
18
+ header?: string;
19
+ trigger?: {
20
+ symbol?: Symbol;
21
+ label?: string;
22
+ size?: number;
23
+ ariaLabel?: string;
24
+ };
25
+ };
26
+ export declare const AreaComponent: (container: Container) => Promise<void>;
27
+ export default AreaComponent;
@@ -0,0 +1,12 @@
1
+ import { createReactComponent } from '@telia-ace/widget-ui';
2
+ export var AreaMode;
3
+ (function (AreaMode) {
4
+ AreaMode["Static"] = "static";
5
+ AreaMode["Drawer"] = "drawer";
6
+ AreaMode["Dropdown"] = "dropdown";
7
+ AreaMode["Modal"] = "modal";
8
+ })(AreaMode || (AreaMode = {}));
9
+ export var AreaComponent = function (container) {
10
+ return createReactComponent(container, 'area', import('./area'), function (component) { });
11
+ };
12
+ export default AreaComponent;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const Area: React.FC<any>;
3
+ export default Area;
@@ -0,0 +1,120 @@
1
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
2
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
3
+ return cooked;
4
+ };
5
+ var __assign = (this && this.__assign) || function () {
6
+ __assign = Object.assign || function(t) {
7
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
8
+ s = arguments[i];
9
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
10
+ t[p] = s[p];
11
+ }
12
+ return t;
13
+ };
14
+ return __assign.apply(this, arguments);
15
+ };
16
+ var __rest = (this && this.__rest) || function (s, e) {
17
+ var t = {};
18
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
19
+ t[p] = s[p];
20
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
21
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
22
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
23
+ t[p[i]] = s[p[i]];
24
+ }
25
+ return t;
26
+ };
27
+ var __read = (this && this.__read) || function (o, n) {
28
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
29
+ if (!m) return o;
30
+ var i = m.call(o), r, ar = [], e;
31
+ try {
32
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
33
+ }
34
+ catch (error) { e = { error: error }; }
35
+ finally {
36
+ try {
37
+ if (r && !r.done && (m = i["return"])) m.call(i);
38
+ }
39
+ finally { if (e) throw e.error; }
40
+ }
41
+ return ar;
42
+ };
43
+ import { WidgetRenderState } from '@telia-ace/widget-core';
44
+ import { Component, genericComponentStyling } from '@telia-ace/widget-types-grid';
45
+ import { Button, ColumnContext, createEmptyComponent, Drawer, DrawerAnimationType, Dropdown, filterCssProps, filterCssPropsStyle, Grid, paddedBorderTabStyle, SymbolBadge, Text, useChildren, useComponentDescriptor, useContainer, useContext, useProperties, useRenderState, useScroll, } from '@telia-ace/widget-ui';
46
+ import { appendClassNames, Logger } from '@telia-ace/widget-utilities';
47
+ import React, { useCallback } from 'react';
48
+ import styled, { css } from 'styled-components';
49
+ import AnimatedArea from './animated-area';
50
+ import { AreaMode } from './area-component';
51
+ var Area = function (_a) {
52
+ var className = _a.className, other = __rest(_a, ["className"]);
53
+ var name = useComponentDescriptor().name;
54
+ var renderState = useRenderState();
55
+ var context = useContext();
56
+ var properties = useProperties();
57
+ var children = useChildren();
58
+ var container = useContainer();
59
+ var _b = context.gap, gap = _b === void 0 ? '0' : _b;
60
+ var _c = properties.columns, columns = _c === void 0 ? 1 : _c, _d = properties.animation, animation = _d === void 0 ? 'none' : _d, _e = properties.scrollable, scrollable = _e === void 0 ? false : _e, _f = properties.mode, mode = _f === void 0 ? AreaMode.Static : _f, _g = properties.trigger, trigger = _g === void 0 ? {} : _g, fullScreen = properties.fullScreen, header = properties.header, areaProperties = __rest(properties, ["columns", "animation", "scrollable", "mode", "trigger", "fullScreen", "header"]);
61
+ var _h = trigger.size, size = _h === void 0 ? 24 : _h, symbol = trigger.symbol, label = trigger.label, ariaLabel = trigger.ariaLabel, otherTriggerProps = __rest(trigger, ["size", "symbol", "label", "ariaLabel"]);
62
+ var _j = __read(useScroll(scrollable), 2), scrollableCss = _j[0], elem = _j[1];
63
+ var setRef = useCallback(function (node) {
64
+ var events = container.get('$widget').events;
65
+ events.dispatch('widget:area-rendered', {
66
+ name: name,
67
+ properties: properties,
68
+ element: node,
69
+ });
70
+ elem.current = node;
71
+ return node;
72
+ }, [properties, renderState]);
73
+ if (!children.length) {
74
+ return createEmptyComponent(container, __assign(__assign({}, other), { className: appendClassNames(className, 'humany-area') }));
75
+ }
76
+ var props = __assign(__assign(__assign(__assign({}, other), { className: appendClassNames(className, 'humany-area', "humany-area-".concat(name)), scrollableCss: scrollableCss }), areaProperties), { columns: columns, gap: gap, renderState: renderState, animation: animation, hidden: renderState === WidgetRenderState.hidden, ref: setRef });
77
+ var content = (function () {
78
+ if (animation !== 'none') {
79
+ return (React.createElement(ColumnContext.Provider, { value: columns },
80
+ React.createElement(AnimatedArea, __assign({}, props), children.map(function (child) { return (React.createElement(Component, { key: child.id, id: child.id, branch: "default" })); }))));
81
+ }
82
+ if (renderState === WidgetRenderState.closed) {
83
+ return null;
84
+ }
85
+ return (React.createElement(ColumnContext.Provider, { value: columns },
86
+ React.createElement(Wrapper, __assign({}, props), children.map(function (child) { return (React.createElement(Component, { key: child.id, id: child.id, branch: "default" })); }))));
87
+ })();
88
+ if (mode === AreaMode.Static) {
89
+ return content;
90
+ }
91
+ var triggerButton = (React.createElement(Trigger, __assign({ className: "humany-area-trigger", title: ariaLabel }, filterCssProps(otherTriggerProps)),
92
+ label && React.createElement(TriggerLabel, null, label),
93
+ symbol && React.createElement(TriggerSymbolBadge, { symbol: symbol, size: size })));
94
+ if (mode === AreaMode.Dropdown) {
95
+ return React.createElement(Dropdown, { trigger: triggerButton }, content);
96
+ }
97
+ if (mode === AreaMode.Drawer) {
98
+ var drawerAnimation = (Object.values(DrawerAnimationType).includes(animation) && {
99
+ type: animation,
100
+ }) ||
101
+ undefined;
102
+ return (React.createElement(Drawer, { header: header, animation: drawerAnimation, fullScreen: fullScreen, trigger: triggerButton }, content));
103
+ }
104
+ if (mode === AreaMode.Modal) {
105
+ Logger.warn('modal area not implemented');
106
+ return null;
107
+ }
108
+ return null;
109
+ };
110
+ export default Area;
111
+ var Trigger = styled(Button)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n align-items: inherit;\n align-self: center;\n width: fit-content;\n height: fit-content;\n ", "\n\n ", "\n\n &:focus {\n ", ";\n }\n"], ["\n display: flex;\n align-items: inherit;\n align-self: center;\n width: fit-content;\n height: fit-content;\n ", "\n\n ", "\n\n &:focus {\n ", ";\n }\n"])), filterCssPropsStyle, function (p) {
112
+ return p.theme.fonts &&
113
+ "\n font-family: ".concat(p.theme.fonts.type, ";\n font-size: ").concat(p.theme.fonts.normal, ";\n ");
114
+ }, function (p) { var _a; return ((_a = p.theme.accessibility) === null || _a === void 0 ? void 0 : _a.isTabbing) && paddedBorderTabStyle; });
115
+ var TriggerLabel = styled(Text)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n margin: 0 ", " 0 0;\n color: ", ";\n"], ["\n margin: 0 ", " 0 0;\n color: ", ";\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.text; });
116
+ var TriggerSymbolBadge = styled(SymbolBadge)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n path {\n fill: ", ";\n }\n"], ["\n path {\n fill: ", ";\n }\n"])), function (p) { var _a; return (_a = p.theme.colors) === null || _a === void 0 ? void 0 : _a.text; });
117
+ var Wrapper = styled(Grid)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n ", "\n ", "\n text-size-adjust: 100%;\n input::-ms-clear {\n display: none;\n }\n ", ";\n"], ["\n ", "\n ", "\n text-size-adjust: 100%;\n input::-ms-clear {\n display: none;\n }\n ", ";\n"])), genericComponentStyling, function (p) { return !!p.scrollableCss && p.scrollableCss; }, function (p) {
118
+ return p.hidden && css(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n visibility: collapse;\n pointer-events: none;\n "], ["\n visibility: collapse;\n pointer-events: none;\n "])));
119
+ });
120
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
@@ -0,0 +1,2 @@
1
+ import AreaComponent from './area-component';
2
+ export default AreaComponent;
@@ -0,0 +1,2 @@
1
+ import AreaComponent from './area-component';
2
+ export default AreaComponent;
package/package.json ADDED
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "@telia-ace/widget-components-area",
3
+ "version": "1.0.0",
4
+ "description": "Area component for ACE Widgets.",
5
+ "license": "SEE LICENSE IN LICENSE.txt",
6
+ "author": "Telia Company AB",
7
+ "keywords": [
8
+ "telia"
9
+ ],
10
+ "main": "lib/index.js",
11
+ "module": "lib-esm/index.js",
12
+ "files": [
13
+ "LICENSE.txt",
14
+ "README.md",
15
+ "lib/",
16
+ "lib-esm/"
17
+ ],
18
+ "publishConfig": {
19
+ "access": "public"
20
+ },
21
+ "scripts": {
22
+ "clean": "cleandir lib && cleandir lib-esm",
23
+ "compile": "tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json"
24
+ },
25
+ "sideEffects": false,
26
+ "typings": "lib/index.d.ts",
27
+ "dependencies": {
28
+ "@telia-ace/widget-core": "^1.0.0",
29
+ "@telia-ace/widget-types-grid": "^1.0.0",
30
+ "@telia-ace/widget-ui": "^1.0.0",
31
+ "@telia-ace/widget-utilities": "^1.0.1",
32
+ "@webprovisions/platform": "^1.1.2",
33
+ "react": "^17.0.2",
34
+ "react-dom": "^17.0.2",
35
+ "react-transition-group": "^4.2.2",
36
+ "styled-components": "^4.3.2"
37
+ },
38
+ "devDependencies": {
39
+ "@types/react": "^17.0.39",
40
+ "@types/react-dom": "^17.0.13",
41
+ "@types/react-transition-group": "^4.2.3",
42
+ "@types/styled-components": "^5.1.7"
43
+ },
44
+ "gitHead": "26a4f73e6b1811cf60ca62a274b54b15127a83f6"
45
+ }