@elliemae/ds-mobile 3.0.0-next.14 → 3.0.0-next.18
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/dist/cjs/MobileCard/Card.js +2 -2
- package/dist/cjs/MobileCard/Card.js.map +2 -2
- package/dist/cjs/MobileCard/Group.js +2 -2
- package/dist/cjs/MobileCard/Group.js.map +2 -2
- package/dist/cjs/MobileContextMenu/MobileContextMenu.js +2 -2
- package/dist/cjs/MobileContextMenu/MobileContextMenu.js.map +2 -2
- package/dist/cjs/MobileContextMenu/MobileContextMenuItem.js +2 -2
- package/dist/cjs/MobileContextMenu/MobileContextMenuItem.js.map +2 -2
- package/dist/esm/MobileCard/Card.js +1 -1
- package/dist/esm/MobileCard/Card.js.map +1 -1
- package/dist/esm/MobileCard/Group.js +1 -1
- package/dist/esm/MobileCard/Group.js.map +1 -1
- package/dist/esm/MobileContextMenu/MobileContextMenu.js +1 -1
- package/dist/esm/MobileContextMenu/MobileContextMenu.js.map +1 -1
- package/dist/esm/MobileContextMenu/MobileContextMenuItem.js +1 -1
- package/dist/esm/MobileContextMenu/MobileContextMenuItem.js.map +1 -1
- package/package.json +14 -14
|
@@ -36,7 +36,7 @@ var import_react_desc = require("react-desc");
|
|
|
36
36
|
var import_styled_components = __toESM(require("styled-components"));
|
|
37
37
|
var import_styled_components2 = require("@xstyled/styled-components");
|
|
38
38
|
var import_ds_system = require("@elliemae/ds-system");
|
|
39
|
-
var
|
|
39
|
+
var import_ds_shared = require("@elliemae/ds-shared");
|
|
40
40
|
var import_ds_grid = require("@elliemae/ds-grid");
|
|
41
41
|
var import_StyledCard = require("./StyledCard");
|
|
42
42
|
var import_ExpandChevron = require("./ExpandChevron");
|
|
@@ -115,7 +115,7 @@ const MobileCard = ({
|
|
|
115
115
|
const subTextHeight = (0, import_useHeight.useHeight)(subTextRef);
|
|
116
116
|
const isJustChildren = !(subText || subIcons || details);
|
|
117
117
|
const halfM = (0, import_ds_system.op)("/", (0, import_ds_system.__UNSAFE_SPACE_TO_DIMSUM)(theme.space.m), 2);
|
|
118
|
-
return /* @__PURE__ */ import_react.default.createElement(
|
|
118
|
+
return /* @__PURE__ */ import_react.default.createElement(import_ds_shared.GroupItem, {
|
|
119
119
|
render: (context = {}) => {
|
|
120
120
|
const { activeValue, onChange } = context;
|
|
121
121
|
const selected = activeValue !== void 0 && (activeValue === value || activeValue?.length && activeValue?.includes(value));
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/MobileCard/Card.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable react/no-array-index-key */\n/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport React, { useRef } from 'react';\nimport { describe } from 'react-desc';\nimport styled from 'styled-components';\nimport { space } from '@xstyled/styled-components';\nimport { color, border, op, truncate, withTheme, __UNSAFE_SPACE_TO_DIMSUM, toMobile } from '@elliemae/ds-system';\nimport GroupItem from '@elliemae/ds-shared
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADGvB,mBAA8B;AAC9B,wBAAyB;AACzB,+BAAmB;AACnB,gCAAsB;AACtB,uBAA2F;AAC3F,
|
|
4
|
+
"sourcesContent": ["/* eslint-disable react/no-array-index-key */\n/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport React, { useRef } from 'react';\nimport { describe } from 'react-desc';\nimport styled from 'styled-components';\nimport { space } from '@xstyled/styled-components';\nimport { color, border, op, truncate, withTheme, __UNSAFE_SPACE_TO_DIMSUM, toMobile } from '@elliemae/ds-system';\nimport { GroupItem } from '@elliemae/ds-shared';\nimport { Grid } from '@elliemae/ds-grid';\nimport { StyledCard as Card } from './StyledCard';\nimport { ExpandChevron } from './ExpandChevron';\nimport { useHeight } from './useHeight';\nimport { ExpandableRegion } from './ExpandableRegion';\nimport { cardPropsTypes, MobileCardProps } from './props';\n\nconst TitleEllipsis = styled.div`\n ${truncate()}\n`;\n\nconst Title = styled.div`\n ${space}\n ${truncate()}\n font-weight: ${(props) => props.theme.fontWeights.semibold};\n font-size: ${(props) => toMobile(props.theme.fontSizes.title[600])};\n width: 100%;\n ${color('neutral', 800)}\n`;\nconst Detail = styled.span`\n ${space}\n ${truncate()}\n font-size: ${(props) => toMobile(props.theme.fontSizes.title[500])};\n font-weight: ${(props) => props.theme.fontWeights.regular};\n`;\nconst SubText = styled.span`\n margin-top: ${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xs)};\n ${truncate()}\n &:nth-child(2) {\n padding-left: ${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.s)};\n }\n`;\nconst SubTextWrap = styled.div`\n ${truncate()}\n border-top: ${(props) => border(props.theme.colors.neutral['300'])};\n margin-top: 6px;\n margin-bottom: 2px;\n padding-bottom: ${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)};\n font-size: ${(props) => toMobile(props.theme.fontSizes.subTitle[400])};\n ${color('neutral', 500)}\n font-weight: ${(props) => props.theme.fontWeights.regular};\n display: flex;\n justify-content: space-between;\n`;\nconst LeftIcon = styled(Grid)<{ halfM: string }>`\n & > span {\n height: ${(props) => props.halfM};\n width: ${(props) => props.halfM};\n }\n\n & > span > svg,\n svg:not([fill]) {\n height: ${(props) => props.halfM};\n width: ${(props) => props.halfM};\n }\n`;\nconst CenterWrap = styled.div`\n display: flex;\n align-items: center;\n ${truncate()}\n`;\n\nconst MobileCard: React.ComponentType<MobileCardProps> = ({\n children,\n height = 'm',\n leftAddOn,\n leftProp,\n rightProp,\n subText,\n subIcons,\n details,\n theme,\n expandable = false,\n expandedContent,\n value,\n cardContent,\n}) => {\n const subTextRef = useRef(null);\n const subTextHeight = useHeight(subTextRef);\n const isJustChildren = !(subText || subIcons || details);\n const halfM = op('/', __UNSAFE_SPACE_TO_DIMSUM(theme.space.m), 2);\n\n return (\n <GroupItem\n render={(context = {}) => {\n const { activeValue, onChange } = context;\n const selected =\n activeValue !== undefined && (activeValue === value || (activeValue?.length && activeValue?.includes(value)));\n\n return (\n <Card\n data-testid=\"card-wrapper\"\n minHeight={\n height === 'm' ? __UNSAFE_SPACE_TO_DIMSUM(theme.space.xxl) : __UNSAFE_SPACE_TO_DIMSUM(theme.space.xl)\n }\n >\n {expandable && (\n <ExpandChevron\n isExpanded={selected}\n onClick={(e) => {\n e.stopPropagation();\n onChange({ target: { value } });\n }}\n align={subText || subIcons ? 'top' : 'center'}\n />\n )}\n <Grid pb={(subText || subIcons) && subTextHeight} cols={['auto', 'auto']} alignItems=\"center\">\n {leftProp && <Grid ml={__UNSAFE_SPACE_TO_DIMSUM(theme.space.s)}>{leftProp}</Grid>}\n {leftAddOn && (\n <LeftIcon ml={__UNSAFE_SPACE_TO_DIMSUM(theme.space.s)} halfM={halfM}>\n {leftAddOn}\n </LeftIcon>\n )}\n </Grid>\n <Grid\n pl={!leftAddOn ? __UNSAFE_SPACE_TO_DIMSUM(theme.space.s) : __UNSAFE_SPACE_TO_DIMSUM(theme.space.xs)}\n pr={__UNSAFE_SPACE_TO_DIMSUM(theme.space.s)}\n width=\"100%\"\n >\n <CenterWrap>\n <Title pt={!isJustChildren && halfM} data-testid=\"card-title\">\n <TitleEllipsis>{children}</TitleEllipsis>\n {details && (\n <Grid\n data-testid=\"card-details\"\n cols={details.map(() => 'min-content')}\n mb={(!(subText || subIcons) && halfM) || 0}\n pt={op('/', __UNSAFE_SPACE_TO_DIMSUM(theme.space.xxs), 2)}\n >\n {details.map((d, i) => (\n <Detail key={i}>\n {d}\n {i < details.length - 1 && <Detail px={__UNSAFE_SPACE_TO_DIMSUM(theme.space.xxs)}>\u2022</Detail>}\n </Detail>\n ))}\n </Grid>\n )}\n </Title>\n {rightProp &&\n rightProp.map((prop, i) => (\n <Grid ml={__UNSAFE_SPACE_TO_DIMSUM(theme.space.s)} key={i}>\n {prop}\n </Grid>\n ))}\n </CenterWrap>\n {subIcons && (\n <SubTextWrap ref={subTextRef}>\n <SubText>{subIcons}</SubText>\n {subText && subText[1] && <SubText data-testid=\"card-subText\">{subText[1]}</SubText>}\n </SubTextWrap>\n )}\n {subText && !subIcons && (\n <SubTextWrap ref={subTextRef}>\n {subText.map((s, i) => (\n <SubText data-testid=\"card-subText\" key={i}>\n {s}\n </SubText>\n ))}\n </SubTextWrap>\n )}\n <ExpandableRegion show={selected} content={expandedContent} />\n {cardContent && <Grid>{cardContent}</Grid>}\n </Grid>\n </Card>\n );\n }}\n />\n );\n};\n\nMobileCard.propTypes = cardPropsTypes;\n\nconst DSMobileCardWithSchema = describe(MobileCard);\n\nDSMobileCardWithSchema.propTypes = cardPropsTypes;\n\nexport { DSMobileCardWithSchema };\n\nexport default withTheme(MobileCard);\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -34,7 +34,7 @@ var React = __toESM(require("react"));
|
|
|
34
34
|
var import_react = __toESM(require("react"));
|
|
35
35
|
var import_react_desc = require("react-desc");
|
|
36
36
|
var import_styled_components = __toESM(require("styled-components"));
|
|
37
|
-
var
|
|
37
|
+
var import_ds_shared = require("@elliemae/ds-shared");
|
|
38
38
|
var import_ds_grid = require("@elliemae/ds-grid");
|
|
39
39
|
var import_ds_system = require("@elliemae/ds-system");
|
|
40
40
|
var import_StyledCard = require("./StyledCard");
|
|
@@ -73,7 +73,7 @@ const MobileCardGroup = ({
|
|
|
73
73
|
onChange = () => null
|
|
74
74
|
}) => {
|
|
75
75
|
const rows = !title ? ["auto"] : [(0, import_ds_system.__UNSAFE_SPACE_TO_DIMSUM)(theme.space.m), "auto"];
|
|
76
|
-
return /* @__PURE__ */ import_react.default.createElement(
|
|
76
|
+
return /* @__PURE__ */ import_react.default.createElement(import_ds_shared.Group, {
|
|
77
77
|
activeValue,
|
|
78
78
|
multiple: allowMultipleOpen,
|
|
79
79
|
onChange
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/MobileCard/Group.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable react/no-array-index-key */\nimport React from 'react';\nimport { describe, PropTypes } from 'react-desc';\nimport styled from 'styled-components';\nimport Group from '@elliemae/ds-shared
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAAkB;AAClB,wBAAoC;AACpC,+BAAmB;AACnB,
|
|
4
|
+
"sourcesContent": ["/* eslint-disable react/no-array-index-key */\nimport React from 'react';\nimport { describe, PropTypes } from 'react-desc';\nimport styled from 'styled-components';\nimport { Group } from '@elliemae/ds-shared';\nimport { Grid } from '@elliemae/ds-grid';\nimport { color, border, withTheme, truncate, __UNSAFE_SPACE_TO_DIMSUM } from '@elliemae/ds-system';\nimport { StyledCard as Card } from './StyledCard';\n\nconst GroupGrid = styled(Grid)`\n ${Card} {\n border-top: none;\n }\n\n ${({ theme, withTopBorder }) => (withTopBorder ? `border-top: ${border(theme.colors.neutral['100'])}` : '')}\n`;\n\nconst GroupTitle = styled.span`\n ${truncate()}\n`;\n\nconst GroupTitleGrid = styled.div`\n display: flex;\n justify-content: space-between;\n padding: 0 ${(props) => props.theme.space.xs};\n font-size: ${(props) => `calc(${__UNSAFE_SPACE_TO_DIMSUM(props.theme.space.m)} / 2)`};\n ${color('neutral', '700')}\n font-weight: ${(props) => props.theme.fontWeights.semibold};\n background-color: ${(props) => props.theme.colors.brand['200']};\n border-top: ${(props) => border(props.theme.colors.brand['300'])};\n line-height: ${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.m)};\n @media (min-width: 1024px) {\n background-color: ${(props) => props.theme.colors.neutral['080']};\n border-top: ${(props) => border(props.theme.colors.neutral['080'])};\n }\n`;\n\nconst MobileCardGroup = ({\n children,\n theme,\n title,\n action,\n activeValue,\n allowMultipleOpen = false,\n onChange = () => null,\n}) => {\n const rows = !title ? ['auto'] : [__UNSAFE_SPACE_TO_DIMSUM(theme.space.m), 'auto'];\n\n return (\n <Group activeValue={activeValue} multiple={allowMultipleOpen} onChange={onChange}>\n <GroupGrid withTopBorder={!title} rows={rows}>\n {!!title && (\n <GroupTitleGrid pl=\"xxs\">\n <GroupTitle>{title}</GroupTitle>\n {action}\n </GroupTitleGrid>\n )}\n <Grid>\n {React.Children.map(\n children,\n (child, idx) =>\n React.cloneElement(child, {\n key: idx,\n value: idx,\n idx,\n }),\n null,\n )}\n </Grid>\n </GroupGrid>\n </Group>\n );\n};\n\nconst props = {\n theme: PropTypes.object.isRequired.description(''),\n /**\n * Defines group title\n */\n title: PropTypes.string.description(''),\n /**\n * Pass one or more Mobile Cards to render as a group\n */\n children: PropTypes.oneOfType([PropTypes.element, PropTypes.arrayOf(PropTypes.element)]).isRequired.description(''),\n /**\n * Group header addon\n */\n action: PropTypes.element.description(''),\n /** */\n activeValue: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.number)]).description(''),\n /** */\n allowMultipleOpen: PropTypes.bool.description(''),\n /** */\n onChange: PropTypes.func.description(''),\n};\n\nMobileCardGroup.propTypes = props;\n\nconst DSMobileCardGroupWithSchema = describe(MobileCardGroup);\n\nDSMobileCardGroupWithSchema.propTypes = props;\n\nexport { DSMobileCardGroupWithSchema };\n\nexport default withTheme(MobileCardGroup);\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAAkB;AAClB,wBAAoC;AACpC,+BAAmB;AACnB,uBAAsB;AACtB,qBAAqB;AACrB,uBAA6E;AAC7E,wBAAmC;AAEnC,MAAM,YAAY,sCAAO;AAAA,IACrB;AAAA;AAAA;AAAA;AAAA,IAIA,CAAC,EAAE,OAAO,oBAAqB,gBAAgB,eAAe,6BAAO,MAAM,OAAO,QAAQ,YAAY;AAAA;AAG1G,MAAM,aAAa,iCAAO;AAAA,IACtB;AAAA;AAGJ,MAAM,iBAAiB,iCAAO;AAAA;AAAA;AAAA,eAGf,CAAC,WAAU,OAAM,MAAM,MAAM;AAAA,eAC7B,CAAC,WAAU,QAAQ,+CAAyB,OAAM,MAAM,MAAM;AAAA,IACzE,4BAAM,WAAW;AAAA,iBACJ,CAAC,WAAU,OAAM,MAAM,YAAY;AAAA,sBAC9B,CAAC,WAAU,OAAM,MAAM,OAAO,MAAM;AAAA,gBAC1C,CAAC,WAAU,6BAAO,OAAM,MAAM,OAAO,MAAM;AAAA,iBAC1C,CAAC,WAAU,+CAAyB,OAAM,MAAM,MAAM;AAAA;AAAA,wBAE/C,CAAC,WAAU,OAAM,MAAM,OAAO,QAAQ;AAAA,kBAC5C,CAAC,WAAU,6BAAO,OAAM,MAAM,OAAO,QAAQ;AAAA;AAAA;AAI/D,MAAM,kBAAkB,CAAC;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,oBAAoB;AAAA,EACpB,WAAW,MAAM;AAAA,MACb;AACJ,QAAM,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,+CAAyB,MAAM,MAAM,IAAI;AAE3E,SACE,mDAAC,wBAAD;AAAA,IAAO;AAAA,IAA0B,UAAU;AAAA,IAAmB;AAAA,KAC5D,mDAAC,WAAD;AAAA,IAAW,eAAe,CAAC;AAAA,IAAO;AAAA,KAC/B,CAAC,CAAC,SACD,mDAAC,gBAAD;AAAA,IAAgB,IAAG;AAAA,KACjB,mDAAC,YAAD,MAAa,QACZ,SAGL,mDAAC,qBAAD,MACG,qBAAM,SAAS,IACd,UACA,CAAC,OAAO,QACN,qBAAM,aAAa,OAAO;AAAA,IACxB,KAAK;AAAA,IACL,OAAO;AAAA,IACP;AAAA,MAEJ;AAAA;AAQZ,MAAM,QAAQ;AAAA,EACZ,OAAO,4BAAU,OAAO,WAAW,YAAY;AAAA,EAI/C,OAAO,4BAAU,OAAO,YAAY;AAAA,EAIpC,UAAU,4BAAU,UAAU,CAAC,4BAAU,SAAS,4BAAU,QAAQ,4BAAU,WAAW,WAAW,YAAY;AAAA,EAIhH,QAAQ,4BAAU,QAAQ,YAAY;AAAA,EAEtC,aAAa,4BAAU,UAAU,CAAC,4BAAU,QAAQ,4BAAU,QAAQ,4BAAU,UAAU,YAAY;AAAA,EAEtG,mBAAmB,4BAAU,KAAK,YAAY;AAAA,EAE9C,UAAU,4BAAU,KAAK,YAAY;AAAA;AAGvC,gBAAgB,YAAY;AAE5B,MAAM,8BAA8B,gCAAS;AAE7C,4BAA4B,YAAY;AAIxC,IAAO,gBAAQ,gCAAU;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -55,7 +55,7 @@ var import_styled_components = __toESM(require("styled-components"));
|
|
|
55
55
|
var import_ds_grid = require("@elliemae/ds-grid");
|
|
56
56
|
var import_ds_backdrop = require("@elliemae/ds-backdrop");
|
|
57
57
|
var import_ds_system = require("@elliemae/ds-system");
|
|
58
|
-
var
|
|
58
|
+
var import_ds_shared = require("@elliemae/ds-shared");
|
|
59
59
|
var import_MobileContextMenuGroup = require("./MobileContextMenuGroup");
|
|
60
60
|
const StyledContainer = (0, import_styled_components.default)(import_ds_grid.Grid)`
|
|
61
61
|
background: ${(props2) => props2.theme.colors.neutral["000"]};
|
|
@@ -156,7 +156,7 @@ const DSMobileContextMenu = (0, import_ds_system.withTheme)(({
|
|
|
156
156
|
style: { overflow: "hidden" }
|
|
157
157
|
}, /* @__PURE__ */ import_react.default.createElement(import_ds_grid.Grid, {
|
|
158
158
|
style: { overflow: "auto" }
|
|
159
|
-
}, /* @__PURE__ */ import_react.default.createElement(
|
|
159
|
+
}, /* @__PURE__ */ import_react.default.createElement(import_ds_shared.Group, {
|
|
160
160
|
activeValue: trueSelected,
|
|
161
161
|
multiple,
|
|
162
162
|
onChange: handleChange
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/MobileContextMenu/MobileContextMenu.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable import/no-unresolved */\n/* eslint-disable react/no-array-index-key */\n/* eslint-disable func-names */\n/* eslint-disable max-lines */\nimport React, { useState, useRef, useMemo } from 'react';\nimport { noop } from 'lodash';\nimport { describe, PropTypes } from 'react-desc';\nimport styled from 'styled-components';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSBackdrop } from '@elliemae/ds-backdrop';\nimport { truncate, withTheme } from '@elliemae/ds-system';\nimport Group from '@elliemae/ds-shared
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADIvB,mBAAiD;AACjD,oBAAqB;AACrB,wBAAoC;AACpC,+BAAmB;AACnB,qBAAqB;AACrB,yBAA2B;AAC3B,uBAAoC;AACpC,
|
|
4
|
+
"sourcesContent": ["/* eslint-disable import/no-unresolved */\n/* eslint-disable react/no-array-index-key */\n/* eslint-disable func-names */\n/* eslint-disable max-lines */\nimport React, { useState, useRef, useMemo } from 'react';\nimport { noop } from 'lodash';\nimport { describe, PropTypes } from 'react-desc';\nimport styled from 'styled-components';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSBackdrop } from '@elliemae/ds-backdrop';\nimport { truncate, withTheme } from '@elliemae/ds-system';\nimport { Group } from '@elliemae/ds-shared';\nimport { DSMobileContextMenuGroup as ContextMenuGroup } from './MobileContextMenuGroup';\n\nconst StyledContainer = styled(Grid)`\n background: ${(props) => props.theme.colors.neutral['000']};\n z-index: ${(props) => props.zIndex};\n width: ${(props) => `calc(100% - ${props.theme.space.xs})`};\n position: fixed;\n bottom: 0;\n left: ${(props) => props.theme.space.xxs};\n max-height: 90vh;\n border-top-left-radius: 5px;\n border-top-right-radius: 5px;\n box-shadow: 0 0px 24px 0 rgba(0, 0, 0, 0.5), 0 0px 11px 0 rgba(0, 0, 0, 0.5);\n`;\n\nconst StyledTitle = styled(Grid)`\n font-size: 16px;\n font-weight: ${(props) => props.theme.fontWeights.semibold};\n color: ${(props) => props.theme.colors.neutral['000']};\n ${truncate()}\n\n & > span {\n height: 20px;\n width: 20px;\n }\n\n & > span > svg,\n svg:not([fill]) {\n height: 20px;\n width: 20px;\n fill: ${(props) => props.theme.colors.neutral['000']};\n }\n`;\n\nconst HeaderContainer = styled(Grid)`\n border-top-left-radius: 5px;\n border-top-right-radius: 5px;\n background: ${(props) => props.theme.colors.brand['600']};\n`;\n\nconst isArr = (prop) => Array.isArray(prop);\n\nconst DSMobileContextMenu = withTheme(\n ({\n open = false,\n title = '',\n multiple = false,\n singleSelect = false,\n onChange = noop,\n onClickOutside = noop,\n children,\n theme,\n backdropZIndex,\n zIndex = 1,\n dataTestid = 'mobile-context-menu',\n buttonFooter = null,\n onApply = noop,\n selecteds: initSelecteds,\n }) => {\n const [selectedItems, setSelectedItems] = useState([]);\n const trueSelected = useMemo(\n () => (initSelecteds !== undefined ? initSelecteds : [...selectedItems]),\n [initSelecteds, selectedItems],\n );\n const containerRef = useRef(null);\n const handleChange = (value, childProps, event) => {\n onChange(value, childProps, event);\n if (initSelecteds === undefined) {\n if (multiple) setSelectedItems([...value]);\n else if (singleSelect) setSelectedItems(value);\n }\n };\n\n const handleApply = function (e) {\n if (this.onClick) this.onClick(e);\n onApply(e, selectedItems);\n };\n\n const rows = [theme.space.s, 1];\n if (buttonFooter) rows.push('56px');\n\n if (!open) return null;\n\n return (\n <>\n <DSBackdrop\n type=\"cover\"\n zIndex={backdropZIndex}\n onClick={(e) => {\n // PUI-4481 prevent click on elements below backdrop\n e.stopPropagation();\n onClickOutside(e);\n }}\n />\n <StyledContainer zIndex={zIndex} rows={rows} ref={containerRef} data-testid=\"ds-mobile-context-menu\">\n <HeaderContainer justifyContent=\"center\" alignItems=\"center\" pl=\"xs\" pr=\"xs\">\n <StyledTitle alignItems=\"center\" gutter=\"xxs\" cols={Array(isArr(title) ? title.length : 1).fill('auto')}>\n {title}\n </StyledTitle>\n </HeaderContainer>\n <Grid style={{ overflow: 'hidden' }}>\n <Grid style={{ overflow: 'auto' }}>\n <Group activeValue={trueSelected} multiple={multiple} onChange={handleChange}>\n {React.Children.map(children, (child, ii) => {\n const isGroup =\n child.type === (<ContextMenuGroup />).type ||\n child.type?.name === ContextMenuGroup.componentType ||\n child.type === ContextMenuGroup.type;\n const { onClick = noop } = child.props;\n const value = ii;\n let isSelected;\n if (singleSelect) isSelected = trueSelected === value;\n else if (multiple) isSelected = trueSelected.includes(value);\n return React.cloneElement(child, {\n value,\n key: `cm.${ii}`,\n isMulti: multiple,\n singleSelect,\n isSelected,\n onClick: !isGroup ? (e) => onClick(e, child.props) : null,\n selectedItems: isGroup ? trueSelected : null,\n });\n })}\n </Group>\n </Grid>\n </Grid>\n {buttonFooter && (\n <Grid pl=\"xs\" pr=\"xs\" alignItems=\"center\">\n {React.cloneElement(buttonFooter, {\n ...buttonFooter.props,\n containerProps: {\n 'data-testid': `${dataTestid}--btn`,\n },\n buttonType: 'primary',\n size: 'l',\n onClick: handleApply.bind(buttonFooter.props),\n })}\n </Grid>\n )}\n </StyledContainer>\n </>\n );\n },\n);\n\nconst props = {\n /** toggle open the menu */\n open: PropTypes.bool.description('toggle open the menu'),\n /** context menu title */\n title: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.node])),\n ]).description('context menu title'),\n /** change handler for selectable context menu */\n onChange: PropTypes.func.description('change handler for selectable context menu'),\n /** multi select */\n multiple: PropTypes.bool.description('multi select'),\n /** click outside callback handler */\n onClickOutside: PropTypes.func.description('click outside callback handler'),\n /** array of mobile context menu items */\n children: PropTypes.arrayOf(PropTypes.element).description('array of mobile context menu items'),\n /** z index for overlay div */\n backdropZIndex: PropTypes.number.description('z index for overlay div'),\n /** z index for menu container */\n zIndex: PropTypes.number.description('z index for menu container'),\n /** for e2e tests */\n dataTestid: PropTypes.string.description('for e2e tests'),\n /** bottom button */\n buttonFooter: PropTypes.element.description('bottom button'),\n /** callback */\n onApply: PropTypes.func.description('callback'),\n /** selected elements for multi and single select */\n selecteds: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n PropTypes.number,\n ]).description('selected elements for multi and single select'),\n};\n\nDSMobileContextMenu.propTypes = props;\n\nconst DSMobileContextMenuWithSchema = describe(DSMobileContextMenu);\n\nDSMobileContextMenuWithSchema.propTypes = props;\n\nexport { DSMobileContextMenu, DSMobileContextMenuWithSchema };\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -50,7 +50,7 @@ var import_react_desc = require("react-desc");
|
|
|
50
50
|
var import_ds_grid = require("@elliemae/ds-grid");
|
|
51
51
|
var import_styled_components = __toESM(require("styled-components"));
|
|
52
52
|
var import_ds_system = require("@elliemae/ds-system");
|
|
53
|
-
var
|
|
53
|
+
var import_ds_shared = require("@elliemae/ds-shared");
|
|
54
54
|
var import_ds_form = require("@elliemae/ds-form");
|
|
55
55
|
var import_ds_icons = require("@elliemae/ds-icons");
|
|
56
56
|
var import_MobileTouchable = require("../MobileTouchable");
|
|
@@ -98,7 +98,7 @@ const DSMobileContextMenuItem = ({
|
|
|
98
98
|
onClick = () => {
|
|
99
99
|
},
|
|
100
100
|
value
|
|
101
|
-
}) => /* @__PURE__ */ import_react.default.createElement(
|
|
101
|
+
}) => /* @__PURE__ */ import_react.default.createElement(import_ds_shared.GroupItem, {
|
|
102
102
|
render: (context) => {
|
|
103
103
|
const { activeValue } = context;
|
|
104
104
|
let someItemSelected = activeValue >= 0 && !Array.isArray(activeValue);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/MobileContextMenu/MobileContextMenuItem.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable max-lines */\n/* eslint-disable complexity */\n/* eslint-disable import/no-unresolved */\nimport React from 'react';\nimport { PropTypes, describe } from 'react-desc';\nimport { Grid } from '@elliemae/ds-grid';\nimport styled from 'styled-components';\nimport { truncate } from '@elliemae/ds-system';\nimport GroupItem from '@elliemae/ds-shared
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADGvB,mBAAkB;AAClB,wBAAoC;AACpC,qBAAqB;AACrB,+BAAmB;AACnB,uBAAyB;AACzB,
|
|
4
|
+
"sourcesContent": ["/* eslint-disable max-lines */\n/* eslint-disable complexity */\n/* eslint-disable import/no-unresolved */\nimport React from 'react';\nimport { PropTypes, describe } from 'react-desc';\nimport { Grid } from '@elliemae/ds-grid';\nimport styled from 'styled-components';\nimport { truncate } from '@elliemae/ds-system';\nimport { GroupItem } from '@elliemae/ds-shared';\nimport { DSCheckbox } from '@elliemae/ds-form';\nimport { Checkmark } from '@elliemae/ds-icons';\nimport { DSMobileTouchable } from '../MobileTouchable';\n\nconst Wrap = styled((props) => <DSMobileTouchable {...props} />)`\n border-bottom: none;\n`;\n\nconst PropWrap = styled((props) => <Grid {...props} />)`\n ${(props) => {\n if (!props.isMulti) {\n return `\n & > span {\n height: 18px;\n width: 18px;\n }\n\n & > span > svg {\n height: 18px;\n width: 18px;\n }\n `;\n }\n return '';\n }}\n`;\n\nconst Title = styled.span`\n font-size: 16px;\n color: ${(props) => props.theme.colors.brand['600']};\n ${truncate()}\n`;\n\nconst Label = styled.span`\n font-size: 13px;\n color: ${(props) => props.theme.colors.neutral['600']};\n`;\n\nconst CheckMark = styled(Checkmark)`\n fill: ${(props) => props.theme.colors.brand['600']};\n`;\ninterface DSMobileContextMenuItemPropsT {\n label: string;\n title: string;\n leftProp: JSX.Element;\n isGroup: boolean;\n isMulti: boolean;\n isSelected: boolean;\n singleSelect: boolean;\n onClick: (e: any) => void;\n value: string;\n}\nconst DSMobileContextMenuItem = ({\n label,\n title,\n leftProp,\n isGroup,\n isMulti,\n singleSelect,\n isSelected,\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onClick = () => {},\n value,\n}: DSMobileContextMenuItemPropsT): JSX.Element => (\n <GroupItem\n render={(context) => {\n const { activeValue } = context;\n let someItemSelected = activeValue >= 0 && !Array.isArray(activeValue);\n if (isGroup) someItemSelected = typeof activeValue === 'string';\n\n let showLeftAddon = isSelected;\n if (isMulti || !singleSelect) showLeftAddon = true;\n\n let leftAddon = leftProp || null;\n if (isMulti) leftAddon = <DSCheckbox checked={isSelected} data-testid=\"leftAddon-checkbox\" />;\n if (singleSelect) leftAddon = <CheckMark data-testid=\"leftAddon-checkmark\" />;\n\n return (\n <Wrap\n data-testid=\"ds-contextmenu-item\"\n onClick={(e) => {\n if (singleSelect || isMulti) context.onChange(value, e, { value, label, title });\n onClick(e);\n }}\n cols={\n (singleSelect && someItemSelected) || (leftAddon && !singleSelect) || isMulti ? ['40px', 'auto'] : ['auto']\n }\n >\n {((singleSelect && someItemSelected) || isMulti || leftAddon) && (\n <PropWrap data-testid=\"left-addon\" isMulti={isMulti} alignItems=\"center\" justifyContent=\"center\" pl=\"16px\">\n {showLeftAddon && leftAddon}\n </PropWrap>\n )}\n <Grid height=\"44px\" pr=\"xs\" pl={!leftAddon && isGroup ? '24px' : 'xs'}>\n {label && (\n <Grid alignItems=\"center\">\n <Label data-testid=\"contextMenuItem-label\">{label}</Label>\n </Grid>\n )}\n <Grid alignItems={!label ? 'center' : undefined}>\n <Title data-testid=\"contextMenuItem-title\">{title}</Title>\n </Grid>\n </Grid>\n </Wrap>\n );\n }}\n />\n);\n\nconst props = {\n /** label */\n label: PropTypes.string.description('label'),\n /** menu item title */\n title: PropTypes.string.isRequired.description('menu item title'),\n /** */\n leftProp: PropTypes.element.description(''),\n /** multi select */\n isMulti: PropTypes.bool.description('multi select'),\n /** */\n singleSelect: PropTypes.bool.description(''),\n /** */\n isGroup: PropTypes.bool.description(''),\n /** on click handler */\n onClick: PropTypes.func.description('on click handler'),\n /** value for select */\n value: PropTypes.number.description('value for select'),\n /** selected value */\n isSelected: PropTypes.bool.description('selected value'),\n};\n\nDSMobileContextMenuItem.propTypes = props;\n\nconst DSMobileContextMenuItemWithSchema = describe(DSMobileContextMenuItem);\n\nDSMobileContextMenuItemWithSchema.propTypes = props;\n\nexport { DSMobileContextMenuItem, DSMobileContextMenuItemWithSchema };\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADGvB,mBAAkB;AAClB,wBAAoC;AACpC,qBAAqB;AACrB,+BAAmB;AACnB,uBAAyB;AACzB,uBAA0B;AAC1B,qBAA2B;AAC3B,sBAA0B;AAC1B,6BAAkC;AAElC,MAAM,OAAO,sCAAO,CAAC,WAAU,mDAAC,0CAAD,mBAAuB;AAAA;AAAA;AAItD,MAAM,WAAW,sCAAO,CAAC,WAAU,mDAAC,qBAAD,mBAAU;AAAA,IACzC,CAAC,WAAU;AACX,MAAI,CAAC,OAAM,SAAS;AAClB,WAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYT,SAAO;AAAA;AAAA;AAIX,MAAM,QAAQ,iCAAO;AAAA;AAAA,WAEV,CAAC,WAAU,OAAM,MAAM,OAAO,MAAM;AAAA,IAC3C;AAAA;AAGJ,MAAM,QAAQ,iCAAO;AAAA;AAAA,WAEV,CAAC,WAAU,OAAM,MAAM,OAAO,QAAQ;AAAA;AAGjD,MAAM,YAAY,sCAAO;AAAA,UACf,CAAC,WAAU,OAAM,MAAM,OAAO,MAAM;AAAA;AAa9C,MAAM,0BAA0B,CAAC;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA,UAAU,MAAM;AAAA;AAAA,EAChB;AAAA,MAEA,mDAAC,4BAAD;AAAA,EACE,QAAQ,CAAC,YAAY;AACnB,UAAM,EAAE,gBAAgB;AACxB,QAAI,mBAAmB,eAAe,KAAK,CAAC,MAAM,QAAQ;AAC1D,QAAI;AAAS,yBAAmB,OAAO,gBAAgB;AAEvD,QAAI,gBAAgB;AACpB,QAAI,WAAW,CAAC;AAAc,sBAAgB;AAE9C,QAAI,YAAY,YAAY;AAC5B,QAAI;AAAS,kBAAY,mDAAC,2BAAD;AAAA,QAAY,SAAS;AAAA,QAAY,eAAY;AAAA;AACtE,QAAI;AAAc,kBAAY,mDAAC,WAAD;AAAA,QAAW,eAAY;AAAA;AAErD,WACE,mDAAC,MAAD;AAAA,MACE,eAAY;AAAA,MACZ,SAAS,CAAC,MAAM;AACd,YAAI,gBAAgB;AAAS,kBAAQ,SAAS,OAAO,GAAG,EAAE,OAAO,OAAO;AACxE,gBAAQ;AAAA;AAAA,MAEV,MACG,gBAAgB,oBAAsB,aAAa,CAAC,gBAAiB,UAAU,CAAC,QAAQ,UAAU,CAAC;AAAA,OAGnG,iBAAgB,oBAAqB,WAAW,cACjD,mDAAC,UAAD;AAAA,MAAU,eAAY;AAAA,MAAa;AAAA,MAAkB,YAAW;AAAA,MAAS,gBAAe;AAAA,MAAS,IAAG;AAAA,OACjG,iBAAiB,YAGtB,mDAAC,qBAAD;AAAA,MAAM,QAAO;AAAA,MAAO,IAAG;AAAA,MAAK,IAAI,CAAC,aAAa,UAAU,SAAS;AAAA,OAC9D,SACC,mDAAC,qBAAD;AAAA,MAAM,YAAW;AAAA,OACf,mDAAC,OAAD;AAAA,MAAO,eAAY;AAAA,OAAyB,SAGhD,mDAAC,qBAAD;AAAA,MAAM,YAAY,CAAC,QAAQ,WAAW;AAAA,OACpC,mDAAC,OAAD;AAAA,MAAO,eAAY;AAAA,OAAyB;AAAA;AAAA;AAS1D,MAAM,QAAQ;AAAA,EAEZ,OAAO,4BAAU,OAAO,YAAY;AAAA,EAEpC,OAAO,4BAAU,OAAO,WAAW,YAAY;AAAA,EAE/C,UAAU,4BAAU,QAAQ,YAAY;AAAA,EAExC,SAAS,4BAAU,KAAK,YAAY;AAAA,EAEpC,cAAc,4BAAU,KAAK,YAAY;AAAA,EAEzC,SAAS,4BAAU,KAAK,YAAY;AAAA,EAEpC,SAAS,4BAAU,KAAK,YAAY;AAAA,EAEpC,OAAO,4BAAU,OAAO,YAAY;AAAA,EAEpC,YAAY,4BAAU,KAAK,YAAY;AAAA;AAGzC,wBAAwB,YAAY;AAEpC,MAAM,oCAAoC,gCAAS;AAEnD,kCAAkC,YAAY;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -4,7 +4,7 @@ import { describe } from "react-desc";
|
|
|
4
4
|
import styled from "styled-components";
|
|
5
5
|
import { space } from "@xstyled/styled-components";
|
|
6
6
|
import { color, border, op, truncate, withTheme, __UNSAFE_SPACE_TO_DIMSUM, toMobile } from "@elliemae/ds-system";
|
|
7
|
-
import GroupItem from "@elliemae/ds-shared
|
|
7
|
+
import { GroupItem } from "@elliemae/ds-shared";
|
|
8
8
|
import { Grid } from "@elliemae/ds-grid";
|
|
9
9
|
import { StyledCard as Card } from "./StyledCard";
|
|
10
10
|
import { ExpandChevron } from "./ExpandChevron";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/MobileCard/Card.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable react/no-array-index-key */\n/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport React, { useRef } from 'react';\nimport { describe } from 'react-desc';\nimport styled from 'styled-components';\nimport { space } from '@xstyled/styled-components';\nimport { color, border, op, truncate, withTheme, __UNSAFE_SPACE_TO_DIMSUM, toMobile } from '@elliemae/ds-system';\nimport GroupItem from '@elliemae/ds-shared
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable react/no-array-index-key */\n/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport React, { useRef } from 'react';\nimport { describe } from 'react-desc';\nimport styled from 'styled-components';\nimport { space } from '@xstyled/styled-components';\nimport { color, border, op, truncate, withTheme, __UNSAFE_SPACE_TO_DIMSUM, toMobile } from '@elliemae/ds-system';\nimport { GroupItem } from '@elliemae/ds-shared';\nimport { Grid } from '@elliemae/ds-grid';\nimport { StyledCard as Card } from './StyledCard';\nimport { ExpandChevron } from './ExpandChevron';\nimport { useHeight } from './useHeight';\nimport { ExpandableRegion } from './ExpandableRegion';\nimport { cardPropsTypes, MobileCardProps } from './props';\n\nconst TitleEllipsis = styled.div`\n ${truncate()}\n`;\n\nconst Title = styled.div`\n ${space}\n ${truncate()}\n font-weight: ${(props) => props.theme.fontWeights.semibold};\n font-size: ${(props) => toMobile(props.theme.fontSizes.title[600])};\n width: 100%;\n ${color('neutral', 800)}\n`;\nconst Detail = styled.span`\n ${space}\n ${truncate()}\n font-size: ${(props) => toMobile(props.theme.fontSizes.title[500])};\n font-weight: ${(props) => props.theme.fontWeights.regular};\n`;\nconst SubText = styled.span`\n margin-top: ${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xs)};\n ${truncate()}\n &:nth-child(2) {\n padding-left: ${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.s)};\n }\n`;\nconst SubTextWrap = styled.div`\n ${truncate()}\n border-top: ${(props) => border(props.theme.colors.neutral['300'])};\n margin-top: 6px;\n margin-bottom: 2px;\n padding-bottom: ${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.xxs)};\n font-size: ${(props) => toMobile(props.theme.fontSizes.subTitle[400])};\n ${color('neutral', 500)}\n font-weight: ${(props) => props.theme.fontWeights.regular};\n display: flex;\n justify-content: space-between;\n`;\nconst LeftIcon = styled(Grid)<{ halfM: string }>`\n & > span {\n height: ${(props) => props.halfM};\n width: ${(props) => props.halfM};\n }\n\n & > span > svg,\n svg:not([fill]) {\n height: ${(props) => props.halfM};\n width: ${(props) => props.halfM};\n }\n`;\nconst CenterWrap = styled.div`\n display: flex;\n align-items: center;\n ${truncate()}\n`;\n\nconst MobileCard: React.ComponentType<MobileCardProps> = ({\n children,\n height = 'm',\n leftAddOn,\n leftProp,\n rightProp,\n subText,\n subIcons,\n details,\n theme,\n expandable = false,\n expandedContent,\n value,\n cardContent,\n}) => {\n const subTextRef = useRef(null);\n const subTextHeight = useHeight(subTextRef);\n const isJustChildren = !(subText || subIcons || details);\n const halfM = op('/', __UNSAFE_SPACE_TO_DIMSUM(theme.space.m), 2);\n\n return (\n <GroupItem\n render={(context = {}) => {\n const { activeValue, onChange } = context;\n const selected =\n activeValue !== undefined && (activeValue === value || (activeValue?.length && activeValue?.includes(value)));\n\n return (\n <Card\n data-testid=\"card-wrapper\"\n minHeight={\n height === 'm' ? __UNSAFE_SPACE_TO_DIMSUM(theme.space.xxl) : __UNSAFE_SPACE_TO_DIMSUM(theme.space.xl)\n }\n >\n {expandable && (\n <ExpandChevron\n isExpanded={selected}\n onClick={(e) => {\n e.stopPropagation();\n onChange({ target: { value } });\n }}\n align={subText || subIcons ? 'top' : 'center'}\n />\n )}\n <Grid pb={(subText || subIcons) && subTextHeight} cols={['auto', 'auto']} alignItems=\"center\">\n {leftProp && <Grid ml={__UNSAFE_SPACE_TO_DIMSUM(theme.space.s)}>{leftProp}</Grid>}\n {leftAddOn && (\n <LeftIcon ml={__UNSAFE_SPACE_TO_DIMSUM(theme.space.s)} halfM={halfM}>\n {leftAddOn}\n </LeftIcon>\n )}\n </Grid>\n <Grid\n pl={!leftAddOn ? __UNSAFE_SPACE_TO_DIMSUM(theme.space.s) : __UNSAFE_SPACE_TO_DIMSUM(theme.space.xs)}\n pr={__UNSAFE_SPACE_TO_DIMSUM(theme.space.s)}\n width=\"100%\"\n >\n <CenterWrap>\n <Title pt={!isJustChildren && halfM} data-testid=\"card-title\">\n <TitleEllipsis>{children}</TitleEllipsis>\n {details && (\n <Grid\n data-testid=\"card-details\"\n cols={details.map(() => 'min-content')}\n mb={(!(subText || subIcons) && halfM) || 0}\n pt={op('/', __UNSAFE_SPACE_TO_DIMSUM(theme.space.xxs), 2)}\n >\n {details.map((d, i) => (\n <Detail key={i}>\n {d}\n {i < details.length - 1 && <Detail px={__UNSAFE_SPACE_TO_DIMSUM(theme.space.xxs)}>\u2022</Detail>}\n </Detail>\n ))}\n </Grid>\n )}\n </Title>\n {rightProp &&\n rightProp.map((prop, i) => (\n <Grid ml={__UNSAFE_SPACE_TO_DIMSUM(theme.space.s)} key={i}>\n {prop}\n </Grid>\n ))}\n </CenterWrap>\n {subIcons && (\n <SubTextWrap ref={subTextRef}>\n <SubText>{subIcons}</SubText>\n {subText && subText[1] && <SubText data-testid=\"card-subText\">{subText[1]}</SubText>}\n </SubTextWrap>\n )}\n {subText && !subIcons && (\n <SubTextWrap ref={subTextRef}>\n {subText.map((s, i) => (\n <SubText data-testid=\"card-subText\" key={i}>\n {s}\n </SubText>\n ))}\n </SubTextWrap>\n )}\n <ExpandableRegion show={selected} content={expandedContent} />\n {cardContent && <Grid>{cardContent}</Grid>}\n </Grid>\n </Card>\n );\n }}\n />\n );\n};\n\nMobileCard.propTypes = cardPropsTypes;\n\nconst DSMobileCardWithSchema = describe(MobileCard);\n\nDSMobileCardWithSchema.propTypes = cardPropsTypes;\n\nexport { DSMobileCardWithSchema };\n\nexport default withTheme(MobileCard);\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,7 +2,7 @@ import * as React from "react";
|
|
|
2
2
|
import React2 from "react";
|
|
3
3
|
import { describe, PropTypes } from "react-desc";
|
|
4
4
|
import styled from "styled-components";
|
|
5
|
-
import Group from "@elliemae/ds-shared
|
|
5
|
+
import { Group } from "@elliemae/ds-shared";
|
|
6
6
|
import { Grid } from "@elliemae/ds-grid";
|
|
7
7
|
import { color, border, withTheme, truncate, __UNSAFE_SPACE_TO_DIMSUM } from "@elliemae/ds-system";
|
|
8
8
|
import { StyledCard as Card } from "./StyledCard";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/MobileCard/Group.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable react/no-array-index-key */\nimport React from 'react';\nimport { describe, PropTypes } from 'react-desc';\nimport styled from 'styled-components';\nimport Group from '@elliemae/ds-shared
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable react/no-array-index-key */\nimport React from 'react';\nimport { describe, PropTypes } from 'react-desc';\nimport styled from 'styled-components';\nimport { Group } from '@elliemae/ds-shared';\nimport { Grid } from '@elliemae/ds-grid';\nimport { color, border, withTheme, truncate, __UNSAFE_SPACE_TO_DIMSUM } from '@elliemae/ds-system';\nimport { StyledCard as Card } from './StyledCard';\n\nconst GroupGrid = styled(Grid)`\n ${Card} {\n border-top: none;\n }\n\n ${({ theme, withTopBorder }) => (withTopBorder ? `border-top: ${border(theme.colors.neutral['100'])}` : '')}\n`;\n\nconst GroupTitle = styled.span`\n ${truncate()}\n`;\n\nconst GroupTitleGrid = styled.div`\n display: flex;\n justify-content: space-between;\n padding: 0 ${(props) => props.theme.space.xs};\n font-size: ${(props) => `calc(${__UNSAFE_SPACE_TO_DIMSUM(props.theme.space.m)} / 2)`};\n ${color('neutral', '700')}\n font-weight: ${(props) => props.theme.fontWeights.semibold};\n background-color: ${(props) => props.theme.colors.brand['200']};\n border-top: ${(props) => border(props.theme.colors.brand['300'])};\n line-height: ${(props) => __UNSAFE_SPACE_TO_DIMSUM(props.theme.space.m)};\n @media (min-width: 1024px) {\n background-color: ${(props) => props.theme.colors.neutral['080']};\n border-top: ${(props) => border(props.theme.colors.neutral['080'])};\n }\n`;\n\nconst MobileCardGroup = ({\n children,\n theme,\n title,\n action,\n activeValue,\n allowMultipleOpen = false,\n onChange = () => null,\n}) => {\n const rows = !title ? ['auto'] : [__UNSAFE_SPACE_TO_DIMSUM(theme.space.m), 'auto'];\n\n return (\n <Group activeValue={activeValue} multiple={allowMultipleOpen} onChange={onChange}>\n <GroupGrid withTopBorder={!title} rows={rows}>\n {!!title && (\n <GroupTitleGrid pl=\"xxs\">\n <GroupTitle>{title}</GroupTitle>\n {action}\n </GroupTitleGrid>\n )}\n <Grid>\n {React.Children.map(\n children,\n (child, idx) =>\n React.cloneElement(child, {\n key: idx,\n value: idx,\n idx,\n }),\n null,\n )}\n </Grid>\n </GroupGrid>\n </Group>\n );\n};\n\nconst props = {\n theme: PropTypes.object.isRequired.description(''),\n /**\n * Defines group title\n */\n title: PropTypes.string.description(''),\n /**\n * Pass one or more Mobile Cards to render as a group\n */\n children: PropTypes.oneOfType([PropTypes.element, PropTypes.arrayOf(PropTypes.element)]).isRequired.description(''),\n /**\n * Group header addon\n */\n action: PropTypes.element.description(''),\n /** */\n activeValue: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.number)]).description(''),\n /** */\n allowMultipleOpen: PropTypes.bool.description(''),\n /** */\n onChange: PropTypes.func.description(''),\n};\n\nMobileCardGroup.propTypes = props;\n\nconst DSMobileCardGroupWithSchema = describe(MobileCardGroup);\n\nDSMobileCardGroupWithSchema.propTypes = props;\n\nexport { DSMobileCardGroupWithSchema };\n\nexport default withTheme(MobileCardGroup);\n"],
|
|
5
5
|
"mappings": "AAAA;ACCA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,MAAM,YAAY,OAAO;AAAA,IACrB;AAAA;AAAA;AAAA;AAAA,IAIA,CAAC,EAAE,OAAO,oBAAqB,gBAAgB,eAAe,OAAO,MAAM,OAAO,QAAQ,YAAY;AAAA;AAG1G,MAAM,aAAa,OAAO;AAAA,IACtB;AAAA;AAGJ,MAAM,iBAAiB,OAAO;AAAA;AAAA;AAAA,eAGf,CAAC,WAAU,OAAM,MAAM,MAAM;AAAA,eAC7B,CAAC,WAAU,QAAQ,yBAAyB,OAAM,MAAM,MAAM;AAAA,IACzE,MAAM,WAAW;AAAA,iBACJ,CAAC,WAAU,OAAM,MAAM,YAAY;AAAA,sBAC9B,CAAC,WAAU,OAAM,MAAM,OAAO,MAAM;AAAA,gBAC1C,CAAC,WAAU,OAAO,OAAM,MAAM,OAAO,MAAM;AAAA,iBAC1C,CAAC,WAAU,yBAAyB,OAAM,MAAM,MAAM;AAAA;AAAA,wBAE/C,CAAC,WAAU,OAAM,MAAM,OAAO,QAAQ;AAAA,kBAC5C,CAAC,WAAU,OAAO,OAAM,MAAM,OAAO,QAAQ;AAAA;AAAA;AAI/D,MAAM,kBAAkB,CAAC;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,oBAAoB;AAAA,EACpB,WAAW,MAAM;AAAA,MACb;AACJ,QAAM,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,yBAAyB,MAAM,MAAM,IAAI;AAE3E,SACE,qCAAC,OAAD;AAAA,IAAO;AAAA,IAA0B,UAAU;AAAA,IAAmB;AAAA,KAC5D,qCAAC,WAAD;AAAA,IAAW,eAAe,CAAC;AAAA,IAAO;AAAA,KAC/B,CAAC,CAAC,SACD,qCAAC,gBAAD;AAAA,IAAgB,IAAG;AAAA,KACjB,qCAAC,YAAD,MAAa,QACZ,SAGL,qCAAC,MAAD,MACG,OAAM,SAAS,IACd,UACA,CAAC,OAAO,QACN,OAAM,aAAa,OAAO;AAAA,IACxB,KAAK;AAAA,IACL,OAAO;AAAA,IACP;AAAA,MAEJ;AAAA;AAQZ,MAAM,QAAQ;AAAA,EACZ,OAAO,UAAU,OAAO,WAAW,YAAY;AAAA,EAI/C,OAAO,UAAU,OAAO,YAAY;AAAA,EAIpC,UAAU,UAAU,UAAU,CAAC,UAAU,SAAS,UAAU,QAAQ,UAAU,WAAW,WAAW,YAAY;AAAA,EAIhH,QAAQ,UAAU,QAAQ,YAAY;AAAA,EAEtC,aAAa,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,QAAQ,UAAU,UAAU,YAAY;AAAA,EAEtG,mBAAmB,UAAU,KAAK,YAAY;AAAA,EAE9C,UAAU,UAAU,KAAK,YAAY;AAAA;AAGvC,gBAAgB,YAAY;AAE5B,MAAM,8BAA8B,SAAS;AAE7C,4BAA4B,YAAY;AAIxC,IAAO,gBAAQ,UAAU;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -25,7 +25,7 @@ import styled from "styled-components";
|
|
|
25
25
|
import { Grid } from "@elliemae/ds-grid";
|
|
26
26
|
import { DSBackdrop } from "@elliemae/ds-backdrop";
|
|
27
27
|
import { truncate, withTheme } from "@elliemae/ds-system";
|
|
28
|
-
import Group from "@elliemae/ds-shared
|
|
28
|
+
import { Group } from "@elliemae/ds-shared";
|
|
29
29
|
import { DSMobileContextMenuGroup as ContextMenuGroup } from "./MobileContextMenuGroup";
|
|
30
30
|
const StyledContainer = styled(Grid)`
|
|
31
31
|
background: ${(props2) => props2.theme.colors.neutral["000"]};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/MobileContextMenu/MobileContextMenu.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable import/no-unresolved */\n/* eslint-disable react/no-array-index-key */\n/* eslint-disable func-names */\n/* eslint-disable max-lines */\nimport React, { useState, useRef, useMemo } from 'react';\nimport { noop } from 'lodash';\nimport { describe, PropTypes } from 'react-desc';\nimport styled from 'styled-components';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSBackdrop } from '@elliemae/ds-backdrop';\nimport { truncate, withTheme } from '@elliemae/ds-system';\nimport Group from '@elliemae/ds-shared
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable import/no-unresolved */\n/* eslint-disable react/no-array-index-key */\n/* eslint-disable func-names */\n/* eslint-disable max-lines */\nimport React, { useState, useRef, useMemo } from 'react';\nimport { noop } from 'lodash';\nimport { describe, PropTypes } from 'react-desc';\nimport styled from 'styled-components';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSBackdrop } from '@elliemae/ds-backdrop';\nimport { truncate, withTheme } from '@elliemae/ds-system';\nimport { Group } from '@elliemae/ds-shared';\nimport { DSMobileContextMenuGroup as ContextMenuGroup } from './MobileContextMenuGroup';\n\nconst StyledContainer = styled(Grid)`\n background: ${(props) => props.theme.colors.neutral['000']};\n z-index: ${(props) => props.zIndex};\n width: ${(props) => `calc(100% - ${props.theme.space.xs})`};\n position: fixed;\n bottom: 0;\n left: ${(props) => props.theme.space.xxs};\n max-height: 90vh;\n border-top-left-radius: 5px;\n border-top-right-radius: 5px;\n box-shadow: 0 0px 24px 0 rgba(0, 0, 0, 0.5), 0 0px 11px 0 rgba(0, 0, 0, 0.5);\n`;\n\nconst StyledTitle = styled(Grid)`\n font-size: 16px;\n font-weight: ${(props) => props.theme.fontWeights.semibold};\n color: ${(props) => props.theme.colors.neutral['000']};\n ${truncate()}\n\n & > span {\n height: 20px;\n width: 20px;\n }\n\n & > span > svg,\n svg:not([fill]) {\n height: 20px;\n width: 20px;\n fill: ${(props) => props.theme.colors.neutral['000']};\n }\n`;\n\nconst HeaderContainer = styled(Grid)`\n border-top-left-radius: 5px;\n border-top-right-radius: 5px;\n background: ${(props) => props.theme.colors.brand['600']};\n`;\n\nconst isArr = (prop) => Array.isArray(prop);\n\nconst DSMobileContextMenu = withTheme(\n ({\n open = false,\n title = '',\n multiple = false,\n singleSelect = false,\n onChange = noop,\n onClickOutside = noop,\n children,\n theme,\n backdropZIndex,\n zIndex = 1,\n dataTestid = 'mobile-context-menu',\n buttonFooter = null,\n onApply = noop,\n selecteds: initSelecteds,\n }) => {\n const [selectedItems, setSelectedItems] = useState([]);\n const trueSelected = useMemo(\n () => (initSelecteds !== undefined ? initSelecteds : [...selectedItems]),\n [initSelecteds, selectedItems],\n );\n const containerRef = useRef(null);\n const handleChange = (value, childProps, event) => {\n onChange(value, childProps, event);\n if (initSelecteds === undefined) {\n if (multiple) setSelectedItems([...value]);\n else if (singleSelect) setSelectedItems(value);\n }\n };\n\n const handleApply = function (e) {\n if (this.onClick) this.onClick(e);\n onApply(e, selectedItems);\n };\n\n const rows = [theme.space.s, 1];\n if (buttonFooter) rows.push('56px');\n\n if (!open) return null;\n\n return (\n <>\n <DSBackdrop\n type=\"cover\"\n zIndex={backdropZIndex}\n onClick={(e) => {\n // PUI-4481 prevent click on elements below backdrop\n e.stopPropagation();\n onClickOutside(e);\n }}\n />\n <StyledContainer zIndex={zIndex} rows={rows} ref={containerRef} data-testid=\"ds-mobile-context-menu\">\n <HeaderContainer justifyContent=\"center\" alignItems=\"center\" pl=\"xs\" pr=\"xs\">\n <StyledTitle alignItems=\"center\" gutter=\"xxs\" cols={Array(isArr(title) ? title.length : 1).fill('auto')}>\n {title}\n </StyledTitle>\n </HeaderContainer>\n <Grid style={{ overflow: 'hidden' }}>\n <Grid style={{ overflow: 'auto' }}>\n <Group activeValue={trueSelected} multiple={multiple} onChange={handleChange}>\n {React.Children.map(children, (child, ii) => {\n const isGroup =\n child.type === (<ContextMenuGroup />).type ||\n child.type?.name === ContextMenuGroup.componentType ||\n child.type === ContextMenuGroup.type;\n const { onClick = noop } = child.props;\n const value = ii;\n let isSelected;\n if (singleSelect) isSelected = trueSelected === value;\n else if (multiple) isSelected = trueSelected.includes(value);\n return React.cloneElement(child, {\n value,\n key: `cm.${ii}`,\n isMulti: multiple,\n singleSelect,\n isSelected,\n onClick: !isGroup ? (e) => onClick(e, child.props) : null,\n selectedItems: isGroup ? trueSelected : null,\n });\n })}\n </Group>\n </Grid>\n </Grid>\n {buttonFooter && (\n <Grid pl=\"xs\" pr=\"xs\" alignItems=\"center\">\n {React.cloneElement(buttonFooter, {\n ...buttonFooter.props,\n containerProps: {\n 'data-testid': `${dataTestid}--btn`,\n },\n buttonType: 'primary',\n size: 'l',\n onClick: handleApply.bind(buttonFooter.props),\n })}\n </Grid>\n )}\n </StyledContainer>\n </>\n );\n },\n);\n\nconst props = {\n /** toggle open the menu */\n open: PropTypes.bool.description('toggle open the menu'),\n /** context menu title */\n title: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.node])),\n ]).description('context menu title'),\n /** change handler for selectable context menu */\n onChange: PropTypes.func.description('change handler for selectable context menu'),\n /** multi select */\n multiple: PropTypes.bool.description('multi select'),\n /** click outside callback handler */\n onClickOutside: PropTypes.func.description('click outside callback handler'),\n /** array of mobile context menu items */\n children: PropTypes.arrayOf(PropTypes.element).description('array of mobile context menu items'),\n /** z index for overlay div */\n backdropZIndex: PropTypes.number.description('z index for overlay div'),\n /** z index for menu container */\n zIndex: PropTypes.number.description('z index for menu container'),\n /** for e2e tests */\n dataTestid: PropTypes.string.description('for e2e tests'),\n /** bottom button */\n buttonFooter: PropTypes.element.description('bottom button'),\n /** callback */\n onApply: PropTypes.func.description('callback'),\n /** selected elements for multi and single select */\n selecteds: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n PropTypes.number,\n ]).description('selected elements for multi and single select'),\n};\n\nDSMobileContextMenu.propTypes = props;\n\nconst DSMobileContextMenuWithSchema = describe(DSMobileContextMenu);\n\nDSMobileContextMenuWithSchema.propTypes = props;\n\nexport { DSMobileContextMenu, DSMobileContextMenuWithSchema };\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -20,7 +20,7 @@ import { PropTypes, describe } from "react-desc";
|
|
|
20
20
|
import { Grid } from "@elliemae/ds-grid";
|
|
21
21
|
import styled from "styled-components";
|
|
22
22
|
import { truncate } from "@elliemae/ds-system";
|
|
23
|
-
import GroupItem from "@elliemae/ds-shared
|
|
23
|
+
import { GroupItem } from "@elliemae/ds-shared";
|
|
24
24
|
import { DSCheckbox } from "@elliemae/ds-form";
|
|
25
25
|
import { Checkmark } from "@elliemae/ds-icons";
|
|
26
26
|
import { DSMobileTouchable } from "../MobileTouchable";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/MobileContextMenu/MobileContextMenuItem.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable complexity */\n/* eslint-disable import/no-unresolved */\nimport React from 'react';\nimport { PropTypes, describe } from 'react-desc';\nimport { Grid } from '@elliemae/ds-grid';\nimport styled from 'styled-components';\nimport { truncate } from '@elliemae/ds-system';\nimport GroupItem from '@elliemae/ds-shared
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable complexity */\n/* eslint-disable import/no-unresolved */\nimport React from 'react';\nimport { PropTypes, describe } from 'react-desc';\nimport { Grid } from '@elliemae/ds-grid';\nimport styled from 'styled-components';\nimport { truncate } from '@elliemae/ds-system';\nimport { GroupItem } from '@elliemae/ds-shared';\nimport { DSCheckbox } from '@elliemae/ds-form';\nimport { Checkmark } from '@elliemae/ds-icons';\nimport { DSMobileTouchable } from '../MobileTouchable';\n\nconst Wrap = styled((props) => <DSMobileTouchable {...props} />)`\n border-bottom: none;\n`;\n\nconst PropWrap = styled((props) => <Grid {...props} />)`\n ${(props) => {\n if (!props.isMulti) {\n return `\n & > span {\n height: 18px;\n width: 18px;\n }\n\n & > span > svg {\n height: 18px;\n width: 18px;\n }\n `;\n }\n return '';\n }}\n`;\n\nconst Title = styled.span`\n font-size: 16px;\n color: ${(props) => props.theme.colors.brand['600']};\n ${truncate()}\n`;\n\nconst Label = styled.span`\n font-size: 13px;\n color: ${(props) => props.theme.colors.neutral['600']};\n`;\n\nconst CheckMark = styled(Checkmark)`\n fill: ${(props) => props.theme.colors.brand['600']};\n`;\ninterface DSMobileContextMenuItemPropsT {\n label: string;\n title: string;\n leftProp: JSX.Element;\n isGroup: boolean;\n isMulti: boolean;\n isSelected: boolean;\n singleSelect: boolean;\n onClick: (e: any) => void;\n value: string;\n}\nconst DSMobileContextMenuItem = ({\n label,\n title,\n leftProp,\n isGroup,\n isMulti,\n singleSelect,\n isSelected,\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onClick = () => {},\n value,\n}: DSMobileContextMenuItemPropsT): JSX.Element => (\n <GroupItem\n render={(context) => {\n const { activeValue } = context;\n let someItemSelected = activeValue >= 0 && !Array.isArray(activeValue);\n if (isGroup) someItemSelected = typeof activeValue === 'string';\n\n let showLeftAddon = isSelected;\n if (isMulti || !singleSelect) showLeftAddon = true;\n\n let leftAddon = leftProp || null;\n if (isMulti) leftAddon = <DSCheckbox checked={isSelected} data-testid=\"leftAddon-checkbox\" />;\n if (singleSelect) leftAddon = <CheckMark data-testid=\"leftAddon-checkmark\" />;\n\n return (\n <Wrap\n data-testid=\"ds-contextmenu-item\"\n onClick={(e) => {\n if (singleSelect || isMulti) context.onChange(value, e, { value, label, title });\n onClick(e);\n }}\n cols={\n (singleSelect && someItemSelected) || (leftAddon && !singleSelect) || isMulti ? ['40px', 'auto'] : ['auto']\n }\n >\n {((singleSelect && someItemSelected) || isMulti || leftAddon) && (\n <PropWrap data-testid=\"left-addon\" isMulti={isMulti} alignItems=\"center\" justifyContent=\"center\" pl=\"16px\">\n {showLeftAddon && leftAddon}\n </PropWrap>\n )}\n <Grid height=\"44px\" pr=\"xs\" pl={!leftAddon && isGroup ? '24px' : 'xs'}>\n {label && (\n <Grid alignItems=\"center\">\n <Label data-testid=\"contextMenuItem-label\">{label}</Label>\n </Grid>\n )}\n <Grid alignItems={!label ? 'center' : undefined}>\n <Title data-testid=\"contextMenuItem-title\">{title}</Title>\n </Grid>\n </Grid>\n </Wrap>\n );\n }}\n />\n);\n\nconst props = {\n /** label */\n label: PropTypes.string.description('label'),\n /** menu item title */\n title: PropTypes.string.isRequired.description('menu item title'),\n /** */\n leftProp: PropTypes.element.description(''),\n /** multi select */\n isMulti: PropTypes.bool.description('multi select'),\n /** */\n singleSelect: PropTypes.bool.description(''),\n /** */\n isGroup: PropTypes.bool.description(''),\n /** on click handler */\n onClick: PropTypes.func.description('on click handler'),\n /** value for select */\n value: PropTypes.number.description('value for select'),\n /** selected value */\n isSelected: PropTypes.bool.description('selected value'),\n};\n\nDSMobileContextMenuItem.propTypes = props;\n\nconst DSMobileContextMenuItemWithSchema = describe(DSMobileContextMenuItem);\n\nDSMobileContextMenuItemWithSchema.propTypes = props;\n\nexport { DSMobileContextMenuItem, DSMobileContextMenuItemWithSchema };\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;AAAA;ACGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,MAAM,OAAO,OAAO,CAAC,WAAU,qCAAC,mBAAD,mBAAuB;AAAA;AAAA;AAItD,MAAM,WAAW,OAAO,CAAC,WAAU,qCAAC,MAAD,mBAAU;AAAA,IACzC,CAAC,WAAU;AACX,MAAI,CAAC,OAAM,SAAS;AAClB,WAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYT,SAAO;AAAA;AAAA;AAIX,MAAM,QAAQ,OAAO;AAAA;AAAA,WAEV,CAAC,WAAU,OAAM,MAAM,OAAO,MAAM;AAAA,IAC3C;AAAA;AAGJ,MAAM,QAAQ,OAAO;AAAA;AAAA,WAEV,CAAC,WAAU,OAAM,MAAM,OAAO,QAAQ;AAAA;AAGjD,MAAM,YAAY,OAAO;AAAA,UACf,CAAC,WAAU,OAAM,MAAM,OAAO,MAAM;AAAA;AAa9C,MAAM,0BAA0B,CAAC;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA,UAAU,MAAM;AAAA;AAAA,EAChB;AAAA,MAEA,qCAAC,WAAD;AAAA,EACE,QAAQ,CAAC,YAAY;AACnB,UAAM,EAAE,gBAAgB;AACxB,QAAI,mBAAmB,eAAe,KAAK,CAAC,MAAM,QAAQ;AAC1D,QAAI;AAAS,yBAAmB,OAAO,gBAAgB;AAEvD,QAAI,gBAAgB;AACpB,QAAI,WAAW,CAAC;AAAc,sBAAgB;AAE9C,QAAI,YAAY,YAAY;AAC5B,QAAI;AAAS,kBAAY,qCAAC,YAAD;AAAA,QAAY,SAAS;AAAA,QAAY,eAAY;AAAA;AACtE,QAAI;AAAc,kBAAY,qCAAC,WAAD;AAAA,QAAW,eAAY;AAAA;AAErD,WACE,qCAAC,MAAD;AAAA,MACE,eAAY;AAAA,MACZ,SAAS,CAAC,MAAM;AACd,YAAI,gBAAgB;AAAS,kBAAQ,SAAS,OAAO,GAAG,EAAE,OAAO,OAAO;AACxE,gBAAQ;AAAA;AAAA,MAEV,MACG,gBAAgB,oBAAsB,aAAa,CAAC,gBAAiB,UAAU,CAAC,QAAQ,UAAU,CAAC;AAAA,OAGnG,iBAAgB,oBAAqB,WAAW,cACjD,qCAAC,UAAD;AAAA,MAAU,eAAY;AAAA,MAAa;AAAA,MAAkB,YAAW;AAAA,MAAS,gBAAe;AAAA,MAAS,IAAG;AAAA,OACjG,iBAAiB,YAGtB,qCAAC,MAAD;AAAA,MAAM,QAAO;AAAA,MAAO,IAAG;AAAA,MAAK,IAAI,CAAC,aAAa,UAAU,SAAS;AAAA,OAC9D,SACC,qCAAC,MAAD;AAAA,MAAM,YAAW;AAAA,OACf,qCAAC,OAAD;AAAA,MAAO,eAAY;AAAA,OAAyB,SAGhD,qCAAC,MAAD;AAAA,MAAM,YAAY,CAAC,QAAQ,WAAW;AAAA,OACpC,qCAAC,OAAD;AAAA,MAAO,eAAY;AAAA,OAAyB;AAAA;AAAA;AAS1D,MAAM,QAAQ;AAAA,EAEZ,OAAO,UAAU,OAAO,YAAY;AAAA,EAEpC,OAAO,UAAU,OAAO,WAAW,YAAY;AAAA,EAE/C,UAAU,UAAU,QAAQ,YAAY;AAAA,EAExC,SAAS,UAAU,KAAK,YAAY;AAAA,EAEpC,cAAc,UAAU,KAAK,YAAY;AAAA,EAEzC,SAAS,UAAU,KAAK,YAAY;AAAA,EAEpC,SAAS,UAAU,KAAK,YAAY;AAAA,EAEpC,OAAO,UAAU,OAAO,YAAY;AAAA,EAEpC,YAAY,UAAU,KAAK,YAAY;AAAA;AAGzC,wBAAwB,YAAY;AAEpC,MAAM,oCAAoC,SAAS;AAEnD,kCAAkC,YAAY;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-mobile",
|
|
3
|
-
"version": "3.0.0-next.
|
|
3
|
+
"version": "3.0.0-next.18",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "ICE MT - Dimsum - System",
|
|
6
6
|
"files": [
|
|
@@ -435,19 +435,19 @@
|
|
|
435
435
|
"typeSafety": false
|
|
436
436
|
},
|
|
437
437
|
"dependencies": {
|
|
438
|
-
"@elliemae/ds-accordion": "3.0.0-next.
|
|
439
|
-
"@elliemae/ds-backdrop": "3.0.0-next.
|
|
440
|
-
"@elliemae/ds-button": "3.0.0-next.
|
|
441
|
-
"@elliemae/ds-circular-progress-indicator": "3.0.0-next.
|
|
442
|
-
"@elliemae/ds-form": "3.0.0-next.
|
|
443
|
-
"@elliemae/ds-grid": "3.0.0-next.
|
|
444
|
-
"@elliemae/ds-icon": "3.0.0-next.
|
|
445
|
-
"@elliemae/ds-icons": "3.0.0-next.
|
|
446
|
-
"@elliemae/ds-indeterminate-progress-indicator": "3.0.0-next.
|
|
447
|
-
"@elliemae/ds-shared": "3.0.0-next.
|
|
448
|
-
"@elliemae/ds-system": "3.0.0-next.
|
|
449
|
-
"@elliemae/ds-tabs": "3.0.0-next.
|
|
450
|
-
"@elliemae/ds-truncated-expandable-text": "3.0.0-next.
|
|
438
|
+
"@elliemae/ds-accordion": "3.0.0-next.18",
|
|
439
|
+
"@elliemae/ds-backdrop": "3.0.0-next.18",
|
|
440
|
+
"@elliemae/ds-button": "3.0.0-next.18",
|
|
441
|
+
"@elliemae/ds-circular-progress-indicator": "3.0.0-next.18",
|
|
442
|
+
"@elliemae/ds-form": "3.0.0-next.18",
|
|
443
|
+
"@elliemae/ds-grid": "3.0.0-next.18",
|
|
444
|
+
"@elliemae/ds-icon": "3.0.0-next.18",
|
|
445
|
+
"@elliemae/ds-icons": "3.0.0-next.18",
|
|
446
|
+
"@elliemae/ds-indeterminate-progress-indicator": "3.0.0-next.18",
|
|
447
|
+
"@elliemae/ds-shared": "3.0.0-next.18",
|
|
448
|
+
"@elliemae/ds-system": "3.0.0-next.18",
|
|
449
|
+
"@elliemae/ds-tabs": "3.0.0-next.18",
|
|
450
|
+
"@elliemae/ds-truncated-expandable-text": "3.0.0-next.18",
|
|
451
451
|
"@xstyled/styled-components": "~3.1.2",
|
|
452
452
|
"polished": "~3.6.7",
|
|
453
453
|
"prop-types": "~15.8.1",
|