@telia-ace/widget-components-area 1.0.26-experimental.1 → 1.0.26-experimental.11

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.
@@ -23,5 +23,5 @@ export type AreaComponentProps = {
23
23
  ariaLabel?: string;
24
24
  };
25
25
  };
26
- export declare const AreaComponent: (container: Container) => Promise<void>;
26
+ declare const AreaComponent: (container: Container) => Promise<void>;
27
27
  export default AreaComponent;
@@ -0,0 +1,92 @@
1
+ var m = (o, e, t) => new Promise((s, n) => {
2
+ var r = (i) => {
3
+ try {
4
+ p(t.next(i));
5
+ } catch (d) {
6
+ n(d);
7
+ }
8
+ }, c = (i) => {
9
+ try {
10
+ p(t.throw(i));
11
+ } catch (d) {
12
+ n(d);
13
+ }
14
+ }, p = (i) => i.done ? s(i.value) : Promise.resolve(i.value).then(r, c);
15
+ p((t = t.apply(o, e)).next());
16
+ });
17
+ import { ComponentPlatform as f, asDescriptor as g } from "@telia-ace/widget-core";
18
+ import { resolveComponent as y } from "@telia-ace/widget-types-grid";
19
+ import { WidgetComponentMixin as b, NodeConnector as v } from "@telia-ace/widget-ui";
20
+ import { LitElement as _, css as w } from "lit";
21
+ import { property as u } from "lit/decorators.js";
22
+ import { html as l, unsafeStatic as x } from "lit/static-html.js";
23
+ var C = Object.defineProperty, P = Object.getOwnPropertyDescriptor, h = (o, e, t, s) => {
24
+ for (var n = s > 1 ? void 0 : s ? P(e, t) : e, r = o.length - 1, c; r >= 0; r--)
25
+ (c = o[r]) && (n = (s ? c(e, t, n) : c(n)) || n);
26
+ return s && n && C(e, t, n), n;
27
+ };
28
+ const I = (o) => `w-${o}`;
29
+ class a extends _ {
30
+ constructor() {
31
+ super(), this._columns = 1, this._children = [];
32
+ }
33
+ render() {
34
+ return this.style.setProperty("--columns", this._columns.toString()), l`
35
+ ${this._children.map((e) => e.type === "view" ? l` <w-view nodeId=${e.id} /> ` : l`<${x(I(e.type || ""))}
36
+ nodeId=${e.id}
37
+ />`)}
38
+ `;
39
+ }
40
+ }
41
+ a.styles = [
42
+ w`
43
+ * {
44
+ box-sizing: border-box;
45
+ outline: none;
46
+ }
47
+
48
+ :host {
49
+ background: var(--background);
50
+ outline: none;
51
+ box-sizing: border-box;
52
+
53
+ display: grid;
54
+ grid-template-columns: repeat(var(--columns), 1fr);
55
+ gap: var(--gap, 0);
56
+ justify-content: center;
57
+ grid-auto-rows: max-content;
58
+ }
59
+ `
60
+ ];
61
+ h([
62
+ u({ type: Number })
63
+ ], a.prototype, "_columns", 2);
64
+ h([
65
+ u({ type: Array })
66
+ ], a.prototype, "_children", 2);
67
+ class E extends b(a) {
68
+ constructor() {
69
+ super(), this.connector = new v(this);
70
+ }
71
+ connectedCallback() {
72
+ this.container = this.requestInstance("container"), this.container && f.getInstance(this.container).then((e) => m(this, null, function* () {
73
+ if (!this.nodeId) {
74
+ console.warn("Could not find node id.");
75
+ return;
76
+ }
77
+ const t = e.nodes.get(this.nodeId);
78
+ if (t) {
79
+ const s = e.getBranch(t);
80
+ this._children = t.getChildren(s).map((r) => g(r));
81
+ const n = yield this.container.getAsync("componentResolver");
82
+ this._children.forEach((r) => m(this, null, function* () {
83
+ yield y(r.id, n, e);
84
+ }));
85
+ }
86
+ })), super.connectedCallback();
87
+ }
88
+ }
89
+ export {
90
+ E as default
91
+ };
92
+ //# sourceMappingURL=area-wrapper.1ed96999.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"area-wrapper.1ed96999.js","sources":["../src/area.ts","../src/area-wrapper.ts"],"sourcesContent":["import { css, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { html, unsafeStatic } from 'lit/static-html.js';\nimport './view';\n\n// TODO: this is duplicate of what already exists in type-web\nconst componentTagFromType = (type: string) => {\n const componentTagPrefix = 'w';\n return `${componentTagPrefix}-${type}`;\n};\n\nexport default class Area extends LitElement {\n static styles = [\n css`\n * {\n box-sizing: border-box;\n outline: none;\n }\n\n :host {\n background: var(--background);\n outline: none;\n box-sizing: border-box;\n\n display: grid;\n grid-template-columns: repeat(var(--columns), 1fr);\n gap: var(--gap, 0);\n justify-content: center;\n grid-auto-rows: max-content;\n }\n `,\n ];\n\n @property({ type: Number })\n declare _columns;\n\n @property({ type: Array })\n declare _children: any[];\n\n constructor() {\n super();\n\n this._columns = 1;\n this._children = [];\n }\n\n // protected updated(\n // _changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>\n // ): void {\n\n // }\n\n render() {\n this.style.setProperty('--columns', this._columns.toString());\n return html`\n ${this._children.map((child) => {\n if (child.type === 'view') {\n return html` <w-view nodeId=${child.id} /> `;\n }\n return html`<${unsafeStatic(componentTagFromType(child.type || ''))}\n nodeId=${child.id}\n />`;\n })}\n `;\n }\n}\n","import { asDescriptor, ComponentPlatform } from '@telia-ace/widget-core';\nimport { resolveComponent } from '@telia-ace/widget-types-grid';\nimport { NodeConnector, WidgetComponentMixin } from '@telia-ace/widget-ui';\nimport { Container } from '@webprovisions/platform';\n// import { WidgetComponent, NodeConnector, resolveComponent } from 'types-web';\nimport Area from './area';\n\nexport default class AreaWrapper extends WidgetComponentMixin(Area) {\n connector = new NodeConnector(this);\n container: Container | undefined;\n\n constructor() {\n super();\n }\n\n connectedCallback(): void {\n this.container = this.requestInstance('container');\n if (this.container) {\n ComponentPlatform.getInstance(this.container).then(async (platform) => {\n if (!this.nodeId) {\n console.warn('Could not find node id.');\n return;\n }\n const node = platform.nodes.get(this.nodeId);\n if (node) {\n const branch = platform.getBranch(node);\n this._children = node.getChildren(branch).map((child) => asDescriptor(child));\n const resolver = await this.container!.getAsync('componentResolver');\n this._children.forEach(async (child) => {\n await resolveComponent(child.id, resolver, platform);\n });\n }\n });\n }\n super.connectedCallback();\n }\n}\n"],"names":["componentTagFromType","type","Area","LitElement","html","child","unsafeStatic","css","__decorateClass","property","AreaWrapper","WidgetComponentMixin","NodeConnector","ComponentPlatform","platform","__async","node","branch","asDescriptor","resolver","resolveComponent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAMA,IAAuB,CAACC,MAEnB,KAAyBA;AAGpC,MAAqBC,UAAaC,EAAW;AAAA,EA4BzC,cAAc;AACJ,aAEN,KAAK,WAAW,GAChB,KAAK,YAAY;EACrB;AAAA,EAQA,SAAS;AACL,gBAAK,MAAM,YAAY,aAAa,KAAK,SAAS,UAAU,GACrDC;AAAA,cACD,KAAK,UAAU,IAAI,CAACC,MACdA,EAAM,SAAS,SACRD,oBAAuBC,EAAM,WAEjCD,KAAQE,EAAaN,EAAqBK,EAAM,QAAQ,EAAE,CAAC;AAAA,6BACrDA,EAAM;AAAA,mBAEtB;AAAA;AAAA,EAET;AACJ;AAtDqBH,EACV,SAAS;AAAA,EACZK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkBJ;AAGQC,EAAA;AAAA,EADPC,EAAS,EAAE,MAAM,QAAQ;AAAA,GAtBTP,EAuBT,WAAA,YAAA,CAAA;AAGAM,EAAA;AAAA,EADPC,EAAS,EAAE,MAAM,OAAO;AAAA,GAzBRP,EA0BT,WAAA,aAAA,CAAA;AC9BS,MAAAQ,UAAoBC,EAAqBT,CAAI,EAAE;AAAA,EAIhE,cAAc;AACJ,aAJE,KAAA,YAAA,IAAIU,EAAc,IAAI;AAAA,EAKlC;AAAA,EAEA,oBAA0B;AACjB,SAAA,YAAY,KAAK,gBAAgB,WAAW,GAC7C,KAAK,aACLC,EAAkB,YAAY,KAAK,SAAS,EAAE,KAAK,CAAOC,MAAaC,EAAA;AAC/D,UAAA,CAAC,KAAK,QAAQ;AACd,gBAAQ,KAAK,yBAAyB;AACtC;AAAA,MACJ;AACA,YAAMC,IAAOF,EAAS,MAAM,IAAI,KAAK,MAAM;AAC3C,UAAIE,GAAM;AACA,cAAAC,IAASH,EAAS,UAAUE,CAAI;AACjC,aAAA,YAAYA,EAAK,YAAYC,CAAM,EAAE,IAAI,CAACZ,MAAUa,EAAab,CAAK,CAAC;AAC5E,cAAMc,IAAW,MAAM,KAAK,UAAW,SAAS,mBAAmB;AAC9D,aAAA,UAAU,QAAQ,CAAOd,MAAUU,EAAA;AACpC,gBAAMK,EAAiBf,EAAM,IAAIc,GAAUL,CAAQ;AAAA,QAAA,EACtD;AAAA,MACL;AAAA,IAAA,EACH,GAEL,MAAM,kBAAkB;AAAA,EAC5B;AACJ;"}
@@ -0,0 +1,11 @@
1
+ import { NodeConnector } from '@telia-ace/widget-ui';
2
+ import { Container } from '@webprovisions/platform';
3
+ import Area from './area';
4
+ declare const AreaWrapper_base: (new (...args: any[]) => import("@telia-ace/widget-ui/dist/mixins/widget-component").WidgetComponentInterface) & typeof Area;
5
+ export default class AreaWrapper extends AreaWrapper_base {
6
+ connector: NodeConnector;
7
+ container: Container | undefined;
8
+ constructor();
9
+ connectedCallback(): void;
10
+ }
11
+ export {};
package/dist/area.d.ts CHANGED
@@ -1,3 +1,9 @@
1
- import React from 'react';
2
- declare const Area: React.FC<any>;
3
- export default Area;
1
+ import { LitElement } from 'lit';
2
+ import './view';
3
+ export default class Area extends LitElement {
4
+ static styles: import("lit").CSSResult[];
5
+ _columns: number;
6
+ _children: any[];
7
+ constructor();
8
+ render(): import("lit").TemplateResult<1 | 2>;
9
+ }
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
- import { a as t } from "./index.892b6d04.js";
2
- import "@telia-ace/widget-ui";
1
+ import { createWebComponent as e } from "@telia-ace/widget-ui";
2
+ const t = (o) => e(o, "area", import("./area-wrapper.1ed96999.js"), (n) => {
3
+ }), a = t;
3
4
  export {
4
- t as default
5
+ a as default
5
6
  };
6
7
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
1
+ {"version":3,"file":"index.js","sources":["../src/area-component.ts"],"sourcesContent":["import { createWebComponent } from '@telia-ace/widget-ui';\nimport { Container } from '@webprovisions/platform';\n\ntype Symbol = {\n type: 'Uri' | 'Svg' | 'FontAwesome' | 'Text' | string;\n content: string;\n};\n\nexport enum AreaMode {\n Static = 'static',\n Drawer = 'drawer',\n Dropdown = 'dropdown',\n Modal = 'modal',\n}\n\nexport type AreaComponentProps = {\n mode: AreaMode;\n animation?: string;\n fullScreen?: boolean;\n columns?: number;\n scrollable?: boolean;\n header?: string;\n trigger?: {\n symbol?: Symbol;\n label?: string;\n size?: number;\n ariaLabel?: string;\n };\n};\n\n// export const AreaComponent = (container: Container) => {\n// return createReactComponent(container, 'area', import('./area'), (component) => {});\n// };\n\n// export default AreaComponent;\n\nconst AreaComponent = (container: Container) => {\n return createWebComponent(container, 'area', import('./area-wrapper'), (component) => {});\n};\nexport default AreaComponent;\n"],"names":["AreaComponent","container","createWebComponent","component","AreaComponent$1"],"mappings":";AAoCA,MAAMA,IAAgB,CAACC,MACZC,EAAmBD,GAAW,QAAQ,OAAO,+BAAmB,CAACE,MAAc;AAAA,CAAE,GAE5FC,IAAeJ;"}
package/dist/view.d.ts ADDED
@@ -0,0 +1,14 @@
1
+ import { Container, EventSubscriptionCancellation } from '@webprovisions/platform';
2
+ import { LitElement } from 'lit';
3
+ declare const View_base: (new (...args: any[]) => import("@telia-ace/widget-ui/dist/mixins/requester").RequesterInterface) & typeof LitElement;
4
+ export declare class View extends View_base {
5
+ container: Container | undefined;
6
+ listeners: EventSubscriptionCancellation[];
7
+ static styles: import("lit").CSSResult[];
8
+ _children: any[];
9
+ _setSwitch(name: string): Promise<void>;
10
+ connectedCallback(): void;
11
+ disconnectedCallback(): void;
12
+ render(): import("lit").TemplateResult<1 | 2>;
13
+ }
14
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@telia-ace/widget-components-area",
3
- "version": "1.0.26-experimental.1",
3
+ "version": "1.0.26-experimental.11",
4
4
  "description": "Area component for ACE Widgets.",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "author": "Telia Company AB",
@@ -21,15 +21,16 @@
21
21
  },
22
22
  "sideEffects": false,
23
23
  "dependencies": {
24
- "@telia-ace/widget-core": "1.0.21-experimental.1",
25
- "@telia-ace/widget-types-grid": "1.0.30-experimental.1",
26
- "@telia-ace/widget-ui": "1.0.28-experimental.1",
27
- "@telia-ace/widget-utilities": "1.0.10-experimental.1",
24
+ "@telia-ace/widget-core": "1.0.21-experimental.11",
25
+ "@telia-ace/widget-types-grid": "1.0.30-experimental.11",
26
+ "@telia-ace/widget-ui": "1.0.28-experimental.11",
27
+ "@telia-ace/widget-utilities": "1.0.10-experimental.11",
28
28
  "@webprovisions/platform": "^1.1.2"
29
29
  },
30
30
  "peerDependencies": {
31
31
  "@emotion/react": "^11.10.5",
32
32
  "@emotion/styled": "^11.10.5",
33
+ "lit": "^2.6.0",
33
34
  "react": "^18.2.0",
34
35
  "react-dom": "^18.2.0",
35
36
  "react-transition-group": "^4.4.5"
@@ -37,10 +38,11 @@
37
38
  "devDependencies": {
38
39
  "@emotion/react": "^11.10.5",
39
40
  "@emotion/styled": "^11.10.5",
40
- "@telia-ace/widget-developer-tools": "1.0.16-experimental.1",
41
+ "@telia-ace/widget-developer-tools": "1.0.16-experimental.11",
41
42
  "@types/react": "^18.0.26",
42
43
  "@types/react-dom": "^18.0.10",
43
44
  "@types/react-transition-group": "^4.4.5",
45
+ "lit": "^2.6.0",
44
46
  "react": "^18.2.0",
45
47
  "react-dom": "^18.2.0",
46
48
  "react-transition-group": "^4.4.5"
@@ -1,186 +0,0 @@
1
- var Y = Object.defineProperty, Z = Object.defineProperties;
2
- var _ = Object.getOwnPropertyDescriptors;
3
- var b = Object.getOwnPropertySymbols;
4
- var B = Object.prototype.hasOwnProperty, R = Object.prototype.propertyIsEnumerable;
5
- var z = (e, t, n) => t in e ? Y(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n, s = (e, t) => {
6
- for (var n in t || (t = {}))
7
- B.call(t, n) && z(e, n, t[n]);
8
- if (b)
9
- for (var n of b(t))
10
- R.call(t, n) && z(e, n, t[n]);
11
- return e;
12
- }, c = (e, t) => Z(e, _(t));
13
- var d = (e, t) => {
14
- var n = {};
15
- for (var r in e)
16
- B.call(e, r) && t.indexOf(r) < 0 && (n[r] = e[r]);
17
- if (e != null && b)
18
- for (var r of b(e))
19
- t.indexOf(r) < 0 && R.call(e, r) && (n[r] = e[r]);
20
- return n;
21
- };
22
- import { css as k } from "@emotion/react";
23
- import f from "@emotion/styled";
24
- import { WidgetRenderState as p } from "@telia-ace/widget-core";
25
- import { genericComponentStyling as L, Component as N } from "@telia-ace/widget-types-grid";
26
- import { TransitionComponent as ee, Grid as O, useComponentDescriptor as te, useRenderState as ne, useContext as re, useProperties as ae, useChildren as oe, useContainer as se, useScroll as ie, createEmptyComponent as le, ColumnContext as j, filterCssProps as me, Dropdown as ce, DrawerAnimationType as de, Drawer as ue, Button as pe, filterCssPropsStyle as fe, paddedBorderTabStyle as ge, Text as he, SymbolBadge as ye } from "@telia-ace/widget-ui";
27
- import { appendClassNames as v, Logger as Ce } from "@telia-ace/widget-utilities";
28
- import a, { forwardRef as be, useCallback as $e } from "react";
29
- import { A as u } from "./index.892b6d04.js";
30
- const Ee = be(
31
- (x, i) => {
32
- var l = x, { children: e, className: t, renderState: n, animation: r } = l, g = d(l, ["children", "className", "renderState", "animation"]);
33
- return n ? /* @__PURE__ */ a.createElement(
34
- ee,
35
- {
36
- mountOnEnter: n !== p.hidden,
37
- timeout: 200,
38
- in: n === p.open,
39
- transitions: r,
40
- unmountOnExit: n === p.closed
41
- },
42
- (m, h) => /* @__PURE__ */ a.createElement(
43
- xe,
44
- c(s({}, g), {
45
- animationCss: h,
46
- "data-state": m,
47
- ref: i,
48
- className: v("humany-animated-area", t)
49
- }),
50
- e
51
- )
52
- ) : null;
53
- }
54
- ), ve = Ee, xe = f(O)`
55
- ${L}
56
- ${(e) => !!e.animationCss && e.animationCss}
57
- ${(e) => !!e.scrollableCss && e.scrollableCss}
58
- text-size-adjust: 100%;
59
- input::-ms-clear {
60
- display: none;
61
- }
62
- ${(e) => e.hidden && e["data-state"] === "exited" && k`
63
- visibility: collapse;
64
- pointer-events: none;
65
- `};
66
- `, Oe = (n) => {
67
- var r = n, { className: e } = r, t = d(r, ["className"]);
68
- const { name: g } = te(), i = ne(), x = re(), l = ae(), m = oe(), h = se(), { gap: W = "0" } = x, P = l, {
69
- columns: $ = 1,
70
- animation: y = "none",
71
- scrollable: M = !1,
72
- mode: C = u.Static,
73
- trigger: G = {},
74
- fullScreen: q,
75
- header: F
76
- } = P, H = d(P, [
77
- "columns",
78
- "animation",
79
- "scrollable",
80
- "mode",
81
- "trigger",
82
- "fullScreen",
83
- "header"
84
- ]), D = G, { size: I = 24, symbol: w, label: S, ariaLabel: J } = D, K = d(D, ["size", "symbol", "label", "ariaLabel"]), [Q, U] = ie(M), V = $e(
85
- (o) => {
86
- const { events: X } = h.get("$widget");
87
- return X.dispatch("widget:area-rendered", {
88
- name: g,
89
- properties: l,
90
- element: o
91
- }), U.current = o, o;
92
- },
93
- [l, i]
94
- );
95
- if (!m.length)
96
- return le(h, c(s({}, t), {
97
- className: v(e, "humany-area")
98
- }));
99
- const A = c(s(c(s({}, t), {
100
- className: v(e, "humany-area", `humany-area-${g}`),
101
- scrollableCss: Q
102
- }), H), {
103
- columns: $,
104
- gap: W,
105
- renderState: i,
106
- animation: y,
107
- hidden: i === p.hidden,
108
- ref: V
109
- }), E = (() => y !== "none" ? /* @__PURE__ */ a.createElement(j.Provider, { value: $ }, /* @__PURE__ */ a.createElement(ve, s({}, A), m.map((o) => /* @__PURE__ */ a.createElement(N, { key: o.id, id: o.id, branch: "default" })))) : i === p.closed ? null : /* @__PURE__ */ a.createElement(j.Provider, { value: $ }, /* @__PURE__ */ a.createElement(Te, s({}, A), m.map((o) => /* @__PURE__ */ a.createElement(N, { key: o.id, id: o.id, branch: "default" })))))();
110
- if (C === u.Static)
111
- return E;
112
- const T = /* @__PURE__ */ a.createElement(
113
- we,
114
- s({
115
- className: "humany-area-trigger",
116
- title: J
117
- }, me(K)),
118
- S && /* @__PURE__ */ a.createElement(Se, null, S),
119
- w && /* @__PURE__ */ a.createElement(Ae, { symbol: w, size: I })
120
- );
121
- if (C === u.Dropdown)
122
- return /* @__PURE__ */ a.createElement(ce, { trigger: T }, E);
123
- if (C === u.Drawer) {
124
- const o = Object.values(de).includes(y) && {
125
- type: y
126
- } || void 0;
127
- return /* @__PURE__ */ a.createElement(
128
- ue,
129
- {
130
- header: F,
131
- animation: o,
132
- fullScreen: q,
133
- trigger: T
134
- },
135
- E
136
- );
137
- }
138
- return C === u.Modal && Ce.warn("modal area not implemented"), null;
139
- }, we = f(pe)`
140
- display: flex;
141
- align-items: inherit;
142
- align-self: center;
143
- width: fit-content;
144
- height: fit-content;
145
- ${fe}
146
-
147
- ${(e) => e.theme.fonts && `
148
- font-family: ${e.theme.fonts.type};
149
- font-size: ${e.theme.fonts.normal};
150
- `}
151
-
152
- &:focus-visible {
153
- ${ge};
154
- }
155
- `, Se = f(he)`
156
- margin: 0 ${(e) => {
157
- var t;
158
- return (t = e.theme.sizes) == null ? void 0 : t.small;
159
- }} 0 0;
160
- color: ${(e) => {
161
- var t;
162
- return (t = e.theme.colors) == null ? void 0 : t.text;
163
- }};
164
- `, Ae = f(ye)`
165
- path {
166
- fill: ${(e) => {
167
- var t;
168
- return (t = e.theme.colors) == null ? void 0 : t.text;
169
- }};
170
- }
171
- `, Te = f(O)`
172
- ${L}
173
- ${(e) => !!e.scrollableCss && e.scrollableCss}
174
- text-size-adjust: 100%;
175
- input::-ms-clear {
176
- display: none;
177
- }
178
- ${(e) => e.hidden && k`
179
- visibility: collapse;
180
- pointer-events: none;
181
- `};
182
- `;
183
- export {
184
- Oe as default
185
- };
186
- //# sourceMappingURL=area.c168254b.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"area.c168254b.js","sources":["../src/animated-area.tsx","../src/area.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { WidgetRenderState } from '@telia-ace/widget-core';\nimport { genericComponentStyling } from '@telia-ace/widget-types-grid';\nimport { Grid, TransitionComponent } from '@telia-ace/widget-ui';\nimport { appendClassNames } from '@telia-ace/widget-utilities';\nimport React, { forwardRef } from 'react';\nimport { TransitionStatus } from 'react-transition-group/Transition';\n\nconst Area: React.FC<any> = forwardRef(\n ({ children, className, renderState, animation, ...other }, ref) => {\n if (!renderState) {\n return null;\n }\n\n return (\n <TransitionComponent\n mountOnEnter={renderState !== WidgetRenderState.hidden}\n timeout={200}\n in={renderState === WidgetRenderState.open}\n transitions={animation}\n unmountOnExit={renderState === WidgetRenderState.closed}\n >\n {(state: TransitionStatus, css?: string) => (\n <Wrapper\n {...other}\n animationCss={css}\n data-state={state}\n ref={ref}\n className={appendClassNames('humany-animated-area', className)}\n >\n {children}\n </Wrapper>\n )}\n </TransitionComponent>\n );\n }\n);\n\nexport default Area;\n\nconst Wrapper = styled(Grid)<any>`\n ${genericComponentStyling}\n ${(p) => !!p.animationCss && p.animationCss}\n ${(p) => !!p.scrollableCss && p.scrollableCss}\n text-size-adjust: 100%;\n input::-ms-clear {\n display: none;\n }\n ${(p) =>\n p.hidden &&\n p['data-state'] === 'exited' &&\n css`\n visibility: collapse;\n pointer-events: none;\n `};\n`;\n","import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { WidgetRenderState } from '@telia-ace/widget-core';\nimport { Component, genericComponentStyling } from '@telia-ace/widget-types-grid';\nimport {\n Button,\n ColumnContext,\n createEmptyComponent,\n Drawer,\n DrawerAnimationType,\n Dropdown,\n filterCssProps,\n filterCssPropsStyle,\n Grid,\n paddedBorderTabStyle,\n SymbolBadge,\n Text,\n useChildren,\n useComponentDescriptor,\n useContainer,\n useContext,\n useProperties,\n useRenderState,\n useScroll,\n} from '@telia-ace/widget-ui';\nimport { appendClassNames, Logger } from '@telia-ace/widget-utilities';\nimport { Widget } from '@webprovisions/platform';\nimport React, { useCallback } from 'react';\nimport AnimatedArea from './animated-area';\nimport { AreaComponentProps, AreaMode } from './area-component';\n\nconst Area: React.FC<any> = ({ className, ...other }) => {\n const { name } = useComponentDescriptor();\n const renderState = useRenderState();\n const context = useContext();\n const properties = useProperties<AreaComponentProps>();\n const children = useChildren();\n const container = useContainer();\n\n const { gap = '0' } = context;\n const {\n columns = 1,\n animation = 'none',\n scrollable = false,\n mode = AreaMode.Static,\n trigger = {},\n fullScreen,\n header,\n ...areaProperties\n } = properties;\n\n const { size = 24, symbol, label, ariaLabel, ...otherTriggerProps } = trigger;\n\n const [scrollableCss, elem] = useScroll(scrollable);\n\n const setRef = useCallback(\n (node: HTMLDivElement) => {\n const { events } = container.get('$widget') as Widget;\n events.dispatch('widget:area-rendered', {\n name,\n properties,\n element: node,\n });\n\n elem.current = node;\n return node;\n },\n [properties, renderState]\n );\n\n if (!children.length) {\n return createEmptyComponent(container, {\n ...other,\n className: appendClassNames(className, 'humany-area'),\n });\n }\n\n const props = {\n ...other,\n className: appendClassNames(className, 'humany-area', `humany-area-${name}`),\n scrollableCss,\n ...areaProperties,\n columns,\n gap,\n renderState,\n animation,\n hidden: renderState === WidgetRenderState.hidden,\n ref: setRef,\n };\n\n const content = (() => {\n if (animation !== 'none') {\n return (\n <ColumnContext.Provider value={columns}>\n <AnimatedArea {...props}>\n {children.map((child) => (\n <Component key={child.id} id={child.id} branch=\"default\" />\n ))}\n </AnimatedArea>\n </ColumnContext.Provider>\n );\n }\n\n if (renderState === WidgetRenderState.closed) {\n return null;\n }\n\n return (\n <ColumnContext.Provider value={columns}>\n <Wrapper {...props}>\n {children.map((child) => (\n <Component key={child.id} id={child.id} branch=\"default\" />\n ))}\n </Wrapper>\n </ColumnContext.Provider>\n );\n })();\n\n if (mode === AreaMode.Static) {\n return content;\n }\n\n const triggerButton = (\n <Trigger\n className=\"humany-area-trigger\"\n title={ariaLabel}\n {...filterCssProps(otherTriggerProps)}\n >\n {label && <TriggerLabel>{label}</TriggerLabel>}\n {symbol && <TriggerSymbolBadge symbol={symbol} size={size} />}\n </Trigger>\n );\n\n if (mode === AreaMode.Dropdown) {\n return <Dropdown trigger={triggerButton}>{content}</Dropdown>;\n }\n\n if (mode === AreaMode.Drawer) {\n const drawerAnimation =\n (Object.values(DrawerAnimationType).includes(animation as any) && {\n type: animation as DrawerAnimationType,\n }) ||\n undefined;\n return (\n <Drawer\n header={header}\n animation={drawerAnimation}\n fullScreen={fullScreen}\n trigger={triggerButton}\n >\n {content}\n </Drawer>\n );\n }\n\n if (mode === AreaMode.Modal) {\n Logger.warn('modal area not implemented');\n return null;\n }\n\n return null;\n};\n\nexport default Area;\n\nconst Trigger = styled(Button)`\n display: flex;\n align-items: inherit;\n align-self: center;\n width: fit-content;\n height: fit-content;\n ${filterCssPropsStyle}\n\n ${(p) =>\n p.theme.fonts &&\n `\n font-family: ${p.theme.fonts.type};\n font-size: ${p.theme.fonts.normal};\n `}\n\n &:focus-visible {\n ${paddedBorderTabStyle};\n }\n`;\n\nconst TriggerLabel = styled(Text)`\n margin: 0 ${(p) => p.theme.sizes?.small} 0 0;\n color: ${(p) => p.theme.colors?.text};\n`;\n\nconst TriggerSymbolBadge = styled(SymbolBadge)`\n path {\n fill: ${(p) => p.theme.colors?.text};\n }\n`;\n\nconst Wrapper = styled(Grid)<any>`\n ${genericComponentStyling}\n ${(p) => !!p.scrollableCss && p.scrollableCss}\n text-size-adjust: 100%;\n input::-ms-clear {\n display: none;\n }\n ${(p) =>\n p.hidden &&\n css`\n visibility: collapse;\n pointer-events: none;\n `};\n`;\n"],"names":["Area","forwardRef","_a","ref","_b","children","className","renderState","animation","other","__objRest","React","TransitionComponent","WidgetRenderState","state","css","Wrapper","__spreadProps","__spreadValues","appendClassNames","AnimatedArea","styled","Grid","genericComponentStyling","p","name","useComponentDescriptor","useRenderState","context","useContext","properties","useProperties","useChildren","container","useContainer","gap","columns","scrollable","mode","AreaMode","trigger","fullScreen","header","areaProperties","size","symbol","label","ariaLabel","otherTriggerProps","scrollableCss","elem","useScroll","setRef","useCallback","node","events","createEmptyComponent","props","content","ColumnContext","child","Component","triggerButton","Trigger","filterCssProps","TriggerLabel","TriggerSymbolBadge","Dropdown","drawerAnimation","DrawerAnimationType","Drawer","Logger","Button","filterCssPropsStyle","paddedBorderTabStyle","Text","SymbolBadge"],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import { createReactComponent as t } from "@telia-ace/widget-ui";
2
- var r = /* @__PURE__ */ ((o) => (o.Static = "static", o.Drawer = "drawer", o.Dropdown = "dropdown", o.Modal = "modal", o))(r || {});
3
- const n = (o) => t(o, "area", import("./area.c168254b.js"), (a) => {
4
- }), p = n;
5
- export {
6
- r as A,
7
- p as a
8
- };
9
- //# sourceMappingURL=index.892b6d04.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.892b6d04.js","sources":["../src/area-component.ts"],"sourcesContent":["import { createReactComponent } from '@telia-ace/widget-ui';\nimport { Container } from '@webprovisions/platform';\n\ntype Symbol = {\n type: 'Uri' | 'Svg' | 'FontAwesome' | 'Text' | string;\n content: string;\n};\n\nexport enum AreaMode {\n Static = 'static',\n Drawer = 'drawer',\n Dropdown = 'dropdown',\n Modal = 'modal',\n}\n\nexport type AreaComponentProps = {\n mode: AreaMode;\n animation?: string;\n fullScreen?: boolean;\n columns?: number;\n scrollable?: boolean;\n header?: string;\n trigger?: {\n symbol?: Symbol;\n label?: string;\n size?: number;\n ariaLabel?: string;\n };\n};\n\nexport const AreaComponent = (container: Container) => {\n return createReactComponent(container, 'area', import('./area'), (component) => {});\n};\n\nexport default AreaComponent;\n"],"names":["AreaMode","AreaComponent","container","createReactComponent","component","AreaComponent$1"],"mappings":";AAQY,IAAAA,sBAAAA,OACRA,EAAA,SAAS,UACTA,EAAA,SAAS,UACTA,EAAA,WAAW,YACXA,EAAA,QAAQ,SAJAA,IAAAA,KAAA,CAAA,CAAA;AAsBC,MAAAC,IAAgB,CAACC,MACnBC,EAAqBD,GAAW,QAAQ,OAAO,uBAAW,CAACE,MAAc;AAAA,CAAE,GAGtFC,IAAeJ;"}