@telia-ace/widget-components-area 1.0.20 → 1.0.21-next.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 +5 -5
- package/README.md +3 -3
- package/dist/animated-area.d.ts +3 -3
- package/dist/area-component.d.ts +27 -27
- package/dist/area.69dd7ee0.js.map +1 -1
- package/dist/area.d.ts +3 -3
- package/dist/index.941e839e.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/package.json +13 -14
package/LICENSE.txt
CHANGED
|
@@ -1,6 +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:
|
|
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
6
|
http://www.humany.com/legal
|
package/README.md
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
# `@telia-ace/widget-components-area`
|
|
2
|
-
|
|
3
|
-
Area component for ACE Widgets.
|
|
1
|
+
# `@telia-ace/widget-components-area`
|
|
2
|
+
|
|
3
|
+
Area component for ACE Widgets.
|
package/dist/animated-area.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
declare const Area: React.FC<any>;
|
|
3
|
-
export default Area;
|
|
1
|
+
import React from 'react';
|
|
2
|
+
declare const Area: React.FC<any>;
|
|
3
|
+
export default Area;
|
package/dist/area-component.d.ts
CHANGED
|
@@ -1,27 +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;
|
|
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;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"area.69dd7ee0.js","sources":["../src/animated-area.tsx","../src/area.tsx"],"sourcesContent":["import { WidgetRenderState } from '@telia-ace/widget-core';\r\nimport { genericComponentStyling } from '@telia-ace/widget-types-grid';\r\nimport { Grid, TransitionComponent } from '@telia-ace/widget-ui';\r\nimport { appendClassNames } from '@telia-ace/widget-utilities';\r\nimport React, { forwardRef } from 'react';\r\nimport { TransitionStatus } from 'react-transition-group/Transition';\r\nimport styled, { css } from 'styled-components';\r\n\r\nconst Area: React.FC<any> = forwardRef(\r\n ({ children, className, renderState, animation, ...other }, ref) => {\r\n if (!renderState) {\r\n return null;\r\n }\r\n\r\n return (\r\n <TransitionComponent\r\n mountOnEnter={renderState !== WidgetRenderState.hidden}\r\n timeout={200}\r\n in={renderState === WidgetRenderState.open}\r\n transitions={animation}\r\n unmountOnExit={renderState === WidgetRenderState.closed}\r\n >\r\n {(state: TransitionStatus, css?: string) => (\r\n <Wrapper\r\n {...other}\r\n animationCss={css}\r\n data-state={state}\r\n ref={ref}\r\n className={appendClassNames('humany-animated-area', className)}\r\n >\r\n {children}\r\n </Wrapper>\r\n )}\r\n </TransitionComponent>\r\n );\r\n }\r\n);\r\n\r\nexport default Area;\r\n\r\nconst Wrapper = styled(Grid)<any>`\r\n ${genericComponentStyling}\r\n ${(p) => !!p.animationCss && p.animationCss}\r\n ${(p) => !!p.scrollableCss && p.scrollableCss}\r\n text-size-adjust: 100%;\r\n input::-ms-clear {\r\n display: none;\r\n }\r\n ${(p) =>\r\n p.hidden &&\r\n p['data-state'] === 'exited' &&\r\n css`\r\n visibility: collapse;\r\n pointer-events: none;\r\n `};\r\n`;\r\n","import { WidgetRenderState } from '@telia-ace/widget-core';\r\nimport { Component, genericComponentStyling } from '@telia-ace/widget-types-grid';\r\nimport {\r\n Button,\r\n ColumnContext,\r\n createEmptyComponent,\r\n Drawer,\r\n DrawerAnimationType,\r\n Dropdown,\r\n filterCssProps,\r\n filterCssPropsStyle,\r\n Grid,\r\n paddedBorderTabStyle,\r\n SymbolBadge,\r\n Text,\r\n useChildren,\r\n useComponentDescriptor,\r\n useContainer,\r\n useContext,\r\n useProperties,\r\n useRenderState,\r\n useScroll,\r\n} from '@telia-ace/widget-ui';\r\nimport { appendClassNames, Logger } from '@telia-ace/widget-utilities';\r\nimport { Widget } from '@webprovisions/platform';\r\nimport React, { useCallback } from 'react';\r\nimport styled, { css } from 'styled-components';\r\nimport AnimatedArea from './animated-area';\r\nimport { AreaComponentProps, AreaMode } from './area-component';\r\n\r\nconst Area: React.FC<any> = ({ className, ...other }) => {\r\n const { name } = useComponentDescriptor();\r\n const renderState = useRenderState();\r\n const context = useContext();\r\n const properties = useProperties<AreaComponentProps>();\r\n const children = useChildren();\r\n const container = useContainer();\r\n\r\n const { gap = '0' } = context;\r\n const {\r\n columns = 1,\r\n animation = 'none',\r\n scrollable = false,\r\n mode = AreaMode.Static,\r\n trigger = {},\r\n fullScreen,\r\n header,\r\n ...areaProperties\r\n } = properties;\r\n\r\n const { size = 24, symbol, label, ariaLabel, ...otherTriggerProps } = trigger;\r\n\r\n const [scrollableCss, elem] = useScroll(scrollable);\r\n\r\n const setRef = useCallback(\r\n (node: HTMLDivElement) => {\r\n const { events } = container.get('$widget') as Widget;\r\n events.dispatch('widget:area-rendered', {\r\n name,\r\n properties,\r\n element: node,\r\n });\r\n\r\n elem.current = node;\r\n return node;\r\n },\r\n [properties, renderState]\r\n );\r\n\r\n if (!children.length) {\r\n return createEmptyComponent(container, {\r\n ...other,\r\n className: appendClassNames(className, 'humany-area'),\r\n });\r\n }\r\n\r\n const props = {\r\n ...other,\r\n className: appendClassNames(className, 'humany-area', `humany-area-${name}`),\r\n scrollableCss,\r\n ...areaProperties,\r\n columns,\r\n gap,\r\n renderState,\r\n animation,\r\n hidden: renderState === WidgetRenderState.hidden,\r\n ref: setRef,\r\n };\r\n\r\n const content = (() => {\r\n if (animation !== 'none') {\r\n return (\r\n <ColumnContext.Provider value={columns}>\r\n <AnimatedArea {...props}>\r\n {children.map((child) => (\r\n <Component key={child.id} id={child.id} branch=\"default\" />\r\n ))}\r\n </AnimatedArea>\r\n </ColumnContext.Provider>\r\n );\r\n }\r\n\r\n if (renderState === WidgetRenderState.closed) {\r\n return null;\r\n }\r\n\r\n return (\r\n <ColumnContext.Provider value={columns}>\r\n <Wrapper {...props}>\r\n {children.map((child) => (\r\n <Component key={child.id} id={child.id} branch=\"default\" />\r\n ))}\r\n </Wrapper>\r\n </ColumnContext.Provider>\r\n );\r\n })();\r\n\r\n if (mode === AreaMode.Static) {\r\n return content;\r\n }\r\n\r\n const triggerButton = (\r\n <Trigger\r\n className=\"humany-area-trigger\"\r\n title={ariaLabel}\r\n {...filterCssProps(otherTriggerProps)}\r\n >\r\n {label && <TriggerLabel>{label}</TriggerLabel>}\r\n {symbol && <TriggerSymbolBadge symbol={symbol} size={size} />}\r\n </Trigger>\r\n );\r\n\r\n if (mode === AreaMode.Dropdown) {\r\n return <Dropdown trigger={triggerButton}>{content}</Dropdown>;\r\n }\r\n\r\n if (mode === AreaMode.Drawer) {\r\n const drawerAnimation =\r\n (Object.values(DrawerAnimationType).includes(animation as any) && {\r\n type: animation as DrawerAnimationType,\r\n }) ||\r\n undefined;\r\n return (\r\n <Drawer\r\n header={header}\r\n animation={drawerAnimation}\r\n fullScreen={fullScreen}\r\n trigger={triggerButton}\r\n >\r\n {content}\r\n </Drawer>\r\n );\r\n }\r\n\r\n if (mode === AreaMode.Modal) {\r\n Logger.warn('modal area not implemented');\r\n return null;\r\n }\r\n\r\n return null;\r\n};\r\n\r\nexport default Area;\r\n\r\nconst Trigger = styled(Button)`\r\n display: flex;\r\n align-items: inherit;\r\n align-self: center;\r\n width: fit-content;\r\n height: fit-content;\r\n ${filterCssPropsStyle}\r\n\r\n ${(p) =>\r\n p.theme.fonts &&\r\n `\r\n font-family: ${p.theme.fonts.type};\r\n font-size: ${p.theme.fonts.normal};\r\n `}\r\n\r\n &:focus-visible {\r\n ${paddedBorderTabStyle};\r\n }\r\n`;\r\n\r\nconst TriggerLabel = styled(Text)`\r\n margin: 0 ${(p) => p.theme.sizes?.small} 0 0;\r\n color: ${(p) => p.theme.colors?.text};\r\n`;\r\n\r\nconst TriggerSymbolBadge = styled(SymbolBadge)`\r\n path {\r\n fill: ${(p) => p.theme.colors?.text};\r\n }\r\n`;\r\n\r\nconst Wrapper = styled(Grid)<any>`\r\n ${genericComponentStyling}\r\n ${(p) => !!p.scrollableCss && p.scrollableCss}\r\n text-size-adjust: 100%;\r\n input::-ms-clear {\r\n display: none;\r\n }\r\n ${(p) =>\r\n p.hidden &&\r\n css`\r\n visibility: collapse;\r\n pointer-events: none;\r\n `};\r\n`;\r\n"],"names":["Area","forwardRef","_a","ref","_b","children","className","renderState","animation","other","__objRest","React","TransitionComponent","WidgetRenderState","state","css","Wrapper","__spreadProps","__spreadValues","appendClassNames","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","AnimatedArea","child","Component","triggerButton","Trigger","filterCssProps","TriggerLabel","TriggerSymbolBadge","Dropdown","drawerAnimation","DrawerAnimationType","Drawer","Logger","Button","filterCssPropsStyle","paddedBorderTabStyle","Text","SymbolBadge"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"area.69dd7ee0.js","sources":["../src/animated-area.tsx","../src/area.tsx"],"sourcesContent":["import { 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';\nimport styled, { css } from 'styled-components';\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 { 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 styled, { css } from 'styled-components';\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","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","AnimatedArea","child","Component","triggerButton","Trigger","filterCssProps","TriggerLabel","TriggerSymbolBadge","Dropdown","drawerAnimation","DrawerAnimationType","Drawer","Logger","Button","filterCssPropsStyle","paddedBorderTabStyle","Text","SymbolBadge"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,MAAMA,KAAsBC;AAAA,EACxB,CAACC,GAA2DC,MAAQ;AAAnE,QAAAC,IAAAF,GAAE,YAAAG,GAAU,WAAAC,GAAW,aAAAC,GAAa,WAAAC,MAApCJ,GAAkDK,IAAAC,EAAlDN,GAAkD,CAAhD,YAAU,aAAW,eAAa;AACjC,WAAKG,IAKA,gBAAAI,EAAA,cAAAC,IAAA;AAAA,MACG,cAAcL,MAAgBM,EAAkB;AAAA,MAChD,SAAS;AAAA,MACT,IAAIN,MAAgBM,EAAkB;AAAA,MACtC,aAAaL;AAAA,MACb,eAAeD,MAAgBM,EAAkB;AAAA,IAEhD,GAAA,CAACC,GAAyBC,MACtB,gBAAAJ,EAAA,cAAAK,IAAAC,EAAAC,EAAA,IACOT,IADP;AAAA,MAEG,cAAcM;AAAAA,MACd,cAAYD;AAAA,MACZ,KAAAX;AAAA,MACA,WAAWgB,EAAiB,wBAAwBb,CAAS;AAAA,IAAA,IAE5DD,CACL,CAER,IAtBO;AAAA,EAwBf;AACJ,GAIMW,KAAUI,EAAOC,CAAI;AAAA,MACrBC;AAAA,MACA,CAACC,MAAM,CAAC,CAACA,EAAE,gBAAgBA,EAAE;AAAA,IAC/B,CAACA,MAAM,CAAC,CAACA,EAAE,iBAAiBA,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,MAK5B,CAACA,MACCA,EAAE,UACFA,EAAE,kBAAkB,YACpBR;AAAA;AAAA;AAAA;AAAA,GCrBFf,KAAsB,CAACE,MAA4B;AAA5B,MAAAE,IAAAF,GAAE,aAAAI,MAAFF,GAAgBK,IAAAC,EAAhBN,GAAgB,CAAd;AACrB,QAAA,EAAE,MAAAoB,MAASC,MACXlB,IAAcmB,MACdC,IAAUC,MACVC,IAAaC,MACbzB,IAAW0B,MACXC,IAAYC,MAEZ,EAAE,KAAAC,IAAM,IAAQ,IAAAP,GAUlBzB,IAAA2B,GARA;AAAA,aAAAM,IAAU;AAAA,IACV,WAAA3B,IAAY;AAAA,IACZ,YAAA4B,IAAa;AAAA,IACb,MAAAC,IAAOC,EAAS;AAAA,IAChB,SAAAC,IAAU,CAAC;AAAA,IACX,YAAAC;AAAA,IACA,QAAAC;AAAA,MAEAvC,GADGwC,IAAAhC,EACHR,GADG;AAAA,IAPH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MAIkEE,IAAAmC,GAA9D,QAAAI,IAAO,IAAI,QAAAC,GAAQ,OAAAC,GAAO,WAAAC,MAAoC1C,GAAtB2C,IAAArC,EAAsBN,GAAtB,CAAxC,QAAW,UAAQ,SAAO,eAE5B,CAAC4C,GAAeC,CAAI,IAAIC,GAAUd,CAAU,GAE5Ce,IAASC;AAAA,IACX,CAACC,MAAyB;AACtB,YAAM,EAAE,QAAAC,EAAW,IAAAtB,EAAU,IAAI,SAAS;AAC1C,aAAAsB,EAAO,SAAS,wBAAwB;AAAA,QACpC,MAAA9B;AAAA,QACA,YAAAK;AAAA,QACA,SAASwB;AAAA,MAAA,CACZ,GAEDJ,EAAK,UAAUI,GACRA;AAAA,IACX;AAAA,IACA,CAACxB,GAAYtB,CAAW;AAAA,EAAA;AAGxB,MAAA,CAACF,EAAS;AACV,WAAOkD,GAAqBvB,GAAWf,EAAAC,EAAA,IAChCT,IADgC;AAAA,MAEnC,WAAWU,EAAiBb,GAAW,aAAa;AAAA,IAAA,EACvD;AAGL,QAAMkD,IAAQvC,EAAAC,EAAAD,EAAAC,EAAA,IACPT,IADO;AAAA,IAEV,WAAWU,EAAiBb,GAAW,eAAe,eAAekB,GAAM;AAAA,IAC3E,eAAAwB;AAAA,MACGN,IAJO;AAAA,IAKV,SAAAP;AAAA,IACA,KAAAD;AAAA,IACA,aAAA3B;AAAA,IACA,WAAAC;AAAA,IACA,QAAQD,MAAgBM,EAAkB;AAAA,IAC1C,KAAKsC;AAAA,EAAA,IAGHM,KAAW,MACTjD,MAAc,SAEV,gBAAAG,EAAA,cAAC+C,EAAc,UAAd;AAAA,IAAuB,OAAOvB;AAAA,EAAA,GAC1B,gBAAAxB,EAAA,cAAAgD,IAAAzC,EAAA,IAAiBsC,IACbnD,EAAS,IAAI,CAACuD,MACV,gBAAAjD,EAAA,cAAAkD,GAAA;AAAA,IAAU,KAAKD,EAAM;AAAA,IAAI,IAAIA,EAAM;AAAA,IAAI,QAAO;AAAA,EAAA,CAAU,CAC5D,CACL,CACJ,IAIJrD,MAAgBM,EAAkB,SAC3B,OAIP,gBAAAF,EAAA,cAAC+C,EAAc,UAAd;AAAA,IAAuB,OAAOvB;AAAA,EAAA,GAC1B,gBAAAxB,EAAA,cAAAK,IAAAE,EAAA,IAAYsC,IACRnD,EAAS,IAAI,CAACuD,MACV,gBAAAjD,EAAA,cAAAkD,GAAA;AAAA,IAAU,KAAKD,EAAM;AAAA,IAAI,IAAIA,EAAM;AAAA,IAAI,QAAO;AAAA,EAAA,CAAU,CAC5D,CACL,CACJ;AAIJ,MAAAvB,MAASC,EAAS;AACX,WAAAmB;AAGX,QAAMK,IACD,gBAAAnD,EAAA,cAAAoD,IAAA7C,EAAA;AAAA,IACG,WAAU;AAAA,IACV,OAAO4B;AAAA,KACHkB,GAAejB,CAAiB,IAEnCF,KAAU,gBAAAlC,EAAA,cAAAsD,IAAA,MAAcpB,CAAM,GAC9BD,KAAW,gBAAAjC,EAAA,cAAAuD,IAAA;AAAA,IAAmB,QAAAtB;AAAA,IAAgB,MAAAD;AAAA,EAAY,CAAA,CAC/D;AAGA,MAAAN,MAASC,EAAS;AAClB,WAAQ,gBAAA3B,EAAA,cAAAwD,IAAA;AAAA,MAAS,SAASL;AAAA,IAAA,GAAgBL,CAAQ;AAGlD,MAAApB,MAASC,EAAS,QAAQ;AAC1B,UAAM8B,IACD,OAAO,OAAOC,EAAmB,EAAE,SAAS7D,CAAgB,KAAK;AAAA,MAC9D,MAAMA;AAAA,IAEV,KAAA;AACJ,WACK,gBAAAG,EAAA,cAAA2D,IAAA;AAAA,MACG,QAAA7B;AAAA,MACA,WAAW2B;AAAA,MACX,YAAA5B;AAAA,MACA,SAASsB;AAAA,IAAA,GAERL,CACL;AAAA,EAER;AAEI,SAAApB,MAASC,EAAS,SAClBiC,GAAO,KAAK,4BAA4B,GACjC;AAIf,GAIMR,KAAU3C,EAAOoD,EAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAMvBC;AAAA;AAAA,MAEA,CAAClD,MACCA,EAAE,MAAM,SACR;AAAA,mBACWA,EAAE,MAAM,MAAM;AAAA,iBAChBA,EAAE,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA,UAIrBmD;AAAA;AAAA,GAIJT,KAAe7C,EAAOuD,EAAI;AAAA,gBAChB,CAACpD,MAAM;;AAAA,UAAArB,IAAAqB,EAAE,MAAM,UAAR,gBAAArB,EAAe;AAAA;AAAA,aACzB,CAACqB,MAAM;;AAAA,UAAArB,IAAAqB,EAAE,MAAM,WAAR,gBAAArB,EAAgB;AAAA;AAAA,GAG9BgE,KAAqB9C,EAAOwD,EAAW;AAAA;AAAA,gBAE7B,CAACrD,MAAM;;AAAA,UAAArB,IAAAqB,EAAE,MAAM,WAAR,gBAAArB,EAAgB;AAAA;AAAA;AAAA,GAIjCc,KAAUI,EAAOC,CAAI;AAAA,MACrBC;AAAA,MACA,CAACC,MAAM,CAAC,CAACA,EAAE,iBAAiBA,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,MAK9B,CAACA,MACCA,EAAE,UACFR;AAAA;AAAA;AAAA;AAAA;"}
|
package/dist/area.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
declare const Area: React.FC<any>;
|
|
3
|
-
export default Area;
|
|
1
|
+
import React from 'react';
|
|
2
|
+
declare const Area: React.FC<any>;
|
|
3
|
+
export default Area;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.941e839e.js","sources":["../src/area-component.ts"],"sourcesContent":["import { createReactComponent } from '@telia-ace/widget-ui';\
|
|
1
|
+
{"version":3,"file":"index.941e839e.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"],"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;"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import AreaComponent from './area-component';
|
|
2
|
-
export default AreaComponent;
|
|
1
|
+
import AreaComponent from './area-component';
|
|
2
|
+
export default AreaComponent;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@telia-ace/widget-components-area",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.21-next.0",
|
|
4
4
|
"description": "Area component for ACE Widgets.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
6
6
|
"author": "Telia Company AB",
|
|
@@ -26,23 +26,22 @@
|
|
|
26
26
|
},
|
|
27
27
|
"sideEffects": false,
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@telia-ace/widget-core": "^1.0.
|
|
30
|
-
"@telia-ace/widget-types-grid": "^1.0.
|
|
31
|
-
"@telia-ace/widget-ui": "^1.0.
|
|
32
|
-
"@telia-ace/widget-utilities": "^1.0.
|
|
29
|
+
"@telia-ace/widget-core": "^1.0.16-next.1",
|
|
30
|
+
"@telia-ace/widget-types-grid": "^1.0.25-next.1",
|
|
31
|
+
"@telia-ace/widget-ui": "^1.0.23-next.1",
|
|
32
|
+
"@telia-ace/widget-utilities": "^1.0.5-next.1",
|
|
33
33
|
"@webprovisions/platform": "^1.1.2"
|
|
34
34
|
},
|
|
35
35
|
"peerDependencies": {
|
|
36
|
-
"react": "^
|
|
37
|
-
"react-dom": "^
|
|
38
|
-
"react-transition-group": "^4.
|
|
39
|
-
"styled-components": "^
|
|
36
|
+
"react": "^18.2.0",
|
|
37
|
+
"react-dom": "^18.2.0",
|
|
38
|
+
"react-transition-group": "^4.4.5",
|
|
39
|
+
"styled-components": "^5.3.6"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@types/react": "^
|
|
43
|
-
"@types/react-
|
|
44
|
-
"@types/
|
|
45
|
-
"@types/styled-components": "^5.1.7"
|
|
42
|
+
"@types/react-dom": "^18.0.6",
|
|
43
|
+
"@types/react-transition-group": "^4.4.5",
|
|
44
|
+
"@types/styled-components": "^5.1.26"
|
|
46
45
|
},
|
|
47
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "d475a1626b7bec7add7db950829ef7943a9e0e25"
|
|
48
47
|
}
|