@xyo-network/react-property 5.0.0 → 5.0.1
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/browser/index.mjs
CHANGED
|
@@ -193,7 +193,7 @@ var PropertyValue = /* @__PURE__ */ __name(({ ref, typographyVariant = "body1",
|
|
|
193
193
|
PropertyValue.displayName = "PropertyValue";
|
|
194
194
|
|
|
195
195
|
// src/components/Property.tsx
|
|
196
|
-
var PropertyBox = /* @__PURE__ */ __name(({
|
|
196
|
+
var PropertyBox = /* @__PURE__ */ __name(({ titleProps, title, value, children, size = "medium", tip, actions, required, badge = false, ...props }) => {
|
|
197
197
|
const sizeValueHeight = {
|
|
198
198
|
large: 48,
|
|
199
199
|
medium: 36,
|
|
@@ -205,7 +205,6 @@ var PropertyBox = /* @__PURE__ */ __name(({ ref, titleProps, title, value, child
|
|
|
205
205
|
small: "body2"
|
|
206
206
|
};
|
|
207
207
|
return /* @__PURE__ */ React6.createElement(FlexRow5, {
|
|
208
|
-
ref,
|
|
209
208
|
flexDirection: "column",
|
|
210
209
|
minWidth: 0,
|
|
211
210
|
alignItems: "stretch",
|
|
@@ -252,14 +251,8 @@ var PropertyPaper = /* @__PURE__ */ __name(({ ref, style, variant, elevation = 2
|
|
|
252
251
|
}));
|
|
253
252
|
}, "PropertyPaper");
|
|
254
253
|
PropertyPaper.displayName = "PropertyPaper";
|
|
255
|
-
var Property = /* @__PURE__ */ __name(({
|
|
256
|
-
return props.paper ? /* @__PURE__ */ React6.createElement(PropertyPaper,
|
|
257
|
-
ref,
|
|
258
|
-
...props
|
|
259
|
-
}) : /* @__PURE__ */ React6.createElement(PropertyBox, {
|
|
260
|
-
ref,
|
|
261
|
-
...props
|
|
262
|
-
});
|
|
254
|
+
var Property = /* @__PURE__ */ __name(({ ...props }) => {
|
|
255
|
+
return props.paper ? /* @__PURE__ */ React6.createElement(PropertyPaper, props) : /* @__PURE__ */ React6.createElement(PropertyBox, props);
|
|
263
256
|
}, "Property");
|
|
264
257
|
Property.displayName = "Property";
|
|
265
258
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/Group.tsx","../../src/components/Title.tsx","../../src/components/Property.tsx","../../src/components/ActionsMenu.tsx","../../src/components/IdenticonCorner.tsx","../../src/components/Value.tsx"],"sourcesContent":["import { Paper, useTheme } from '@mui/material'\nimport {\n FlexCol, FlexGrowRow, FlexRow,\n} from '@xylabs/react-flexbox'\nimport { typeOf } from '@xyo-network/typeof'\nimport type { ReactElement } from 'react'\nimport React from 'react'\n\nimport type {\n PropertyGroupBoxProps, PropertyGroupPaperProps, PropertyGroupProps,\n} from './Props.ts'\nimport { PropertyTitle } from './Title.tsx'\n\nconst PropertyGroupBox: React.FC<PropertyGroupBoxProps> = ({\n titleProps, children, title, tip, ...props\n}) => {\n const theme = useTheme()\n const childrenArray = typeOf(children) === 'array' ? (children as ReactElement[]) : undefined\n return (\n <FlexCol alignItems=\"stretch\" overflow=\"hidden\" {...props}>\n <FlexRow overflow=\"hidden\" justifyContent=\"stretch\" alignItems=\"stretch\">\n <PropertyTitle alignItems=\"flex-start\" size=\"full\" title={title} tip={tip} {...titleProps} />\n {childrenArray\n ? (\n <FlexGrowRow>\n {childrenArray?.map((child, index) => {\n return child\n ? (\n <FlexGrowRow key={index} borderLeft={1} borderColor={theme.palette.divider}>\n {child}\n </FlexGrowRow>\n )\n : null\n })}\n </FlexGrowRow>\n )\n : <FlexGrowRow overflow=\"hidden\">{children}</FlexGrowRow>}\n </FlexRow>\n </FlexCol>\n )\n}\n\nconst PropertyGroupPaper: React.FC<PropertyGroupPaperProps> = ({\n style, variant, elevation, square, ...props\n}) => {\n return (\n <Paper\n style={{\n minWidth: 0, overflow: 'hidden', ...style,\n }}\n variant={variant}\n elevation={elevation}\n square={square}\n >\n <PropertyGroupBox {...props} paper={false} />\n </Paper>\n )\n}\n\nexport const PropertyGroup: React.FC<PropertyGroupProps> = (props) => {\n return props.paper ? <PropertyGroupPaper {...props} /> : <PropertyGroupBox {...props} />\n}\n","import type { TypographyVariant } from '@mui/material'\nimport {\n darken, lighten, Typography, useTheme,\n} from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { QuickTipButton } from '@xylabs/react-quick-tip-button'\nimport type { SizeProp } from '@xyo-network/react-shared'\nimport type { ReactNode } from 'react'\nimport React from 'react'\n\nexport type TitleSizeProp = SizeProp | 'full'\n\nexport interface PropertyTitleProps extends FlexBoxProps {\n elevation?: number\n more?: ReactNode\n size?: TitleSizeProp\n tip?: ReactNode\n title?: string\n}\n\nexport const PropertyTitle: React.FC<PropertyTitleProps> = ({\n elevation = 1, size = 'medium', tip, more, title, ...props\n}) => {\n const sizeVariants: Record<TitleSizeProp, TypographyVariant> = {\n full: 'caption',\n large: 'caption',\n medium: 'caption',\n small: 'caption',\n }\n\n const sizeTitleHeight: Record<TitleSizeProp, number | undefined> = {\n full: undefined,\n large: 32,\n medium: 20,\n small: 16,\n }\n\n const sizeFontSize: Record<TitleSizeProp, number> = {\n full: 16,\n large: 16,\n medium: 14,\n small: 10,\n }\n\n const quickTipSize = Math.min(sizeFontSize[size], 16)\n\n const theme = useTheme()\n\n return (\n <FlexRow\n bgcolor={\n theme.palette.mode === 'dark'\n ? lighten(theme.palette.background.paper, 0.05 * elevation)\n : darken(theme.palette.background.paper, 0.025 * elevation)\n }\n alignItems=\"center\"\n height={sizeTitleHeight[size]}\n justifyContent=\"space-between\"\n {...props}\n >\n <FlexRow paddingX={1} paddingY={0.5}>\n <Typography fontWeight={500} noWrap variant={sizeVariants[size]} fontSize={sizeFontSize[size]}>\n <small>\n <strong>{title}</strong>\n </small>\n </Typography>\n {tip\n ? (\n <QuickTipButton style={{ fontSize: quickTipSize }} color=\"inherit\" title={title ?? ''}>\n {tip}\n </QuickTipButton>\n )\n : null}\n </FlexRow>\n {more}\n </FlexRow>\n )\n}\n","import type { TypographyVariant } from '@mui/material'\nimport { CircularProgress, Paper } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport type { SizeProp } from '@xyo-network/react-shared'\nimport React from 'react'\n\nimport { PropertyActionsMenu } from './ActionsMenu.tsx'\nimport { IdenticonCorner } from './IdenticonCorner.tsx'\nimport type {\n PropertyBoxProps, PropertyPaperProps, PropertyProps,\n} from './Props.ts'\nimport { PropertyTitle } from './Title.tsx'\nimport { PropertyValue } from './Value.tsx'\n\nconst PropertyBox = ({\n ref, titleProps, title, value, children, size = 'medium', tip, actions, required, badge = false, ...props\n}: PropertyBoxProps & { ref?: React.RefObject<HTMLDivElement | null> }) => {\n const sizeValueHeight: Record<SizeProp, number> = {\n large: 48,\n medium: 36,\n small: 24,\n }\n\n const sizeVariants: Record<SizeProp, TypographyVariant> = {\n large: 'h6',\n medium: 'body1',\n small: 'body2',\n }\n\n return (\n <FlexRow ref={ref} flexDirection=\"column\" minWidth={0} alignItems=\"stretch\" overflow=\"hidden\" {...props}>\n {title === undefined\n ? null\n : (\n <PropertyTitle\n tip={tip}\n title={required ? `${title}*` : title}\n size={size}\n more={<PropertyActionsMenu actions={actions} />}\n {...titleProps}\n />\n )}\n <FlexRow\n pl={1}\n columnGap={1}\n justifyContent={value === undefined ? 'center' : 'space-between'}\n overflow=\"hidden\"\n height={sizeValueHeight[size]}\n >\n {children ?? ((value === undefined)\n ? <CircularProgress size={16} />\n : <PropertyValue value={value} typographyVariant={sizeVariants[size]} />)}\n {value === undefined\n ? null\n : badge\n ? <IdenticonCorner value={value} />\n : null}\n </FlexRow>\n </FlexRow>\n )\n}\nPropertyBox.displayName = 'PropertyBox'\n\nconst PropertyPaper = ({\n ref, style, variant, elevation = 2, square, ...props\n}: PropertyPaperProps & { ref?: React.RefObject<HTMLDivElement | null> }) => {\n return (\n <Paper\n ref={ref}\n style={{\n minWidth: 0, overflow: 'hidden', ...style,\n }}\n variant={variant}\n elevation={elevation}\n square={square}\n >\n <PropertyBox {...props} paper={false} />\n </Paper>\n )\n}\nPropertyPaper.displayName = 'PropertyPaper'\n\nexport const Property = ({ ref, ...props }: PropertyProps & { ref?: React.RefObject<HTMLDivElement | null> }) => {\n return props.paper ? <PropertyPaper ref={ref} {...props} /> : <PropertyBox ref={ref} {...props} />\n}\nProperty.displayName = 'Property'\n","import { MoreHoriz as MoreHorizIcon } from '@mui/icons-material'\nimport {\n IconButton, Menu, MenuItem,\n} from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport React, { useState } from 'react'\n\nimport type { PropertyActionsProps } from './ActionsProps.ts'\n\nexport const PropertyActionsMenu: React.FC<PropertyActionsProps> = ({ actions, ...props }) => {\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null)\n const open = !!anchorEl\n\n const handleClick = (event: React.MouseEvent<HTMLElement>) => {\n setAnchorEl(event.currentTarget)\n }\n const handleClose = () => {\n setAnchorEl(null)\n }\n\n return actions && actions?.length > 0\n ? (\n <FlexRow {...props}>\n <IconButton size=\"small\" color=\"inherit\" onClick={handleClick}>\n <MoreHorizIcon fontSize=\"inherit\" />\n </IconButton>\n <Menu anchorEl={anchorEl} open={open} onClose={handleClose}>\n {actions?.map((action) => {\n return (\n <MenuItem\n key={action.name}\n onClick={() => {\n action?.onClick?.()\n handleClose()\n }}\n >\n {action.name}\n </MenuItem>\n )\n })}\n </Menu>\n </FlexRow>\n )\n : null\n}\n","import { useTheme } from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { Identicon } from '@xylabs/react-identicon'\nimport React, { useMemo, useRef } from 'react'\n\nexport interface IdenticonCornerProps extends FlexBoxProps {\n value?: string | number | boolean | null\n}\n\nexport const IdenticonCorner: React.FC<IdenticonCornerProps> = ({ value, ...props }) => {\n const theme = useTheme()\n const ref = useRef<HTMLDivElement>(null)\n\n const parentHeight = useMemo(() => ref.current?.parentElement?.parentElement?.clientHeight, [ref.current])\n\n const calculatedHeight = parentHeight ?? 0\n\n return (\n <FlexRow alignItems=\"flex-start\" height=\"100%\">\n <FlexRow background height={calculatedHeight} width={calculatedHeight} borderLeft={`1px solid ${theme.palette.divider}`}>\n <div ref={ref}>\n <Identicon size={calculatedHeight * 0.6} value={`${value}`} sx={{ padding: `${calculatedHeight * 0.2}px` }} {...props} />\n </div>\n </FlexRow>\n </FlexRow>\n )\n}\n","import type { Variant } from '@mui/material/styles/createTypography.js'\nimport type { EllipsizeBoxProps } from '@xyo-network/react-shared'\nimport { EllipsizeBox } from '@xyo-network/react-shared'\nimport React from 'react'\n\nexport interface PropertyValueProps extends Omit<EllipsizeBoxProps, 'ref'> {\n typographyVariant?: Variant\n value?: string | number | boolean | null\n}\n\nexport const PropertyValue = ({\n ref, typographyVariant = 'body1', value, ...props\n}: PropertyValueProps & { ref?: React.RefObject<HTMLDivElement | null> }) => {\n return value === undefined\n ? null\n : (\n <EllipsizeBox\n typographyProps={{\n component: undefined, title: value?.toString(), variant: typographyVariant,\n }}\n width=\"100%\"\n ref={ref}\n {...props}\n >\n {value}\n </EllipsizeBox>\n )\n}\n\nPropertyValue.displayName = 'PropertyValue'\n"],"mappings":"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","names":["Paper","useTheme","FlexCol","FlexGrowRow","FlexRow","typeOf","React","darken","lighten","Typography","useTheme","FlexRow","QuickTipButton","React","PropertyTitle","elevation","size","tip","more","title","props","sizeVariants","full","large","medium","small","sizeTitleHeight","undefined","sizeFontSize","quickTipSize","Math","min","theme","useTheme","FlexRow","bgcolor","palette","mode","lighten","background","paper","darken","alignItems","height","justifyContent","paddingX","paddingY","Typography","fontWeight","noWrap","variant","fontSize","strong","QuickTipButton","style","color","PropertyGroupBox","titleProps","children","title","tip","props","theme","useTheme","childrenArray","typeOf","undefined","React","FlexCol","alignItems","overflow","FlexRow","justifyContent","PropertyTitle","size","FlexGrowRow","map","child","index","key","borderLeft","borderColor","palette","divider","PropertyGroupPaper","style","variant","elevation","square","Paper","minWidth","paper","PropertyGroup","CircularProgress","Paper","FlexRow","React","MoreHoriz","MoreHorizIcon","IconButton","Menu","MenuItem","FlexRow","React","useState","PropertyActionsMenu","actions","props","anchorEl","setAnchorEl","useState","open","handleClick","event","currentTarget","handleClose","length","React","FlexRow","IconButton","size","color","onClick","MoreHorizIcon","fontSize","Menu","onClose","map","action","MenuItem","key","name","useTheme","FlexRow","Identicon","React","useMemo","useRef","IdenticonCorner","value","props","theme","useTheme","ref","useRef","parentHeight","useMemo","current","parentElement","clientHeight","calculatedHeight","React","FlexRow","alignItems","height","background","width","borderLeft","palette","divider","div","Identicon","size","sx","padding","EllipsizeBox","React","PropertyValue","ref","typographyVariant","value","props","undefined","React","EllipsizeBox","typographyProps","component","title","toString","variant","width","displayName","PropertyBox","ref","titleProps","title","value","children","size","tip","actions","required","badge","props","sizeValueHeight","large","medium","small","sizeVariants","React","FlexRow","flexDirection","minWidth","alignItems","overflow","undefined","PropertyTitle","more","PropertyActionsMenu","pl","columnGap","justifyContent","height","CircularProgress","PropertyValue","typographyVariant","IdenticonCorner","displayName","PropertyPaper","style","variant","elevation","square","Paper","paper","Property"]}
|
|
1
|
+
{"version":3,"sources":["../../src/components/Group.tsx","../../src/components/Title.tsx","../../src/components/Property.tsx","../../src/components/ActionsMenu.tsx","../../src/components/IdenticonCorner.tsx","../../src/components/Value.tsx"],"sourcesContent":["import { Paper, useTheme } from '@mui/material'\nimport {\n FlexCol, FlexGrowRow, FlexRow,\n} from '@xylabs/react-flexbox'\nimport { typeOf } from '@xyo-network/typeof'\nimport type { ReactElement } from 'react'\nimport React from 'react'\n\nimport type {\n PropertyGroupBoxProps, PropertyGroupPaperProps, PropertyGroupProps,\n} from './Props.ts'\nimport { PropertyTitle } from './Title.tsx'\n\nconst PropertyGroupBox: React.FC<PropertyGroupBoxProps> = ({\n titleProps, children, title, tip, ...props\n}) => {\n const theme = useTheme()\n const childrenArray = typeOf(children) === 'array' ? (children as ReactElement[]) : undefined\n return (\n <FlexCol alignItems=\"stretch\" overflow=\"hidden\" {...props}>\n <FlexRow overflow=\"hidden\" justifyContent=\"stretch\" alignItems=\"stretch\">\n <PropertyTitle alignItems=\"flex-start\" size=\"full\" title={title} tip={tip} {...titleProps} />\n {childrenArray\n ? (\n <FlexGrowRow>\n {childrenArray?.map((child, index) => {\n return child\n ? (\n <FlexGrowRow key={index} borderLeft={1} borderColor={theme.palette.divider}>\n {child}\n </FlexGrowRow>\n )\n : null\n })}\n </FlexGrowRow>\n )\n : <FlexGrowRow overflow=\"hidden\">{children}</FlexGrowRow>}\n </FlexRow>\n </FlexCol>\n )\n}\n\nconst PropertyGroupPaper: React.FC<PropertyGroupPaperProps> = ({\n style, variant, elevation, square, ...props\n}) => {\n return (\n <Paper\n style={{\n minWidth: 0, overflow: 'hidden', ...style,\n }}\n variant={variant}\n elevation={elevation}\n square={square}\n >\n <PropertyGroupBox {...props} paper={false} />\n </Paper>\n )\n}\n\nexport const PropertyGroup: React.FC<PropertyGroupProps> = (props) => {\n return props.paper ? <PropertyGroupPaper {...props} /> : <PropertyGroupBox {...props} />\n}\n","import type { TypographyVariant } from '@mui/material'\nimport {\n darken, lighten, Typography, useTheme,\n} from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { QuickTipButton } from '@xylabs/react-quick-tip-button'\nimport type { SizeProp } from '@xyo-network/react-shared'\nimport type { ReactNode } from 'react'\nimport React from 'react'\n\nexport type TitleSizeProp = SizeProp | 'full'\n\nexport interface PropertyTitleProps extends FlexBoxProps {\n elevation?: number\n more?: ReactNode\n size?: TitleSizeProp\n tip?: ReactNode\n title?: string\n}\n\nexport const PropertyTitle: React.FC<PropertyTitleProps> = ({\n elevation = 1, size = 'medium', tip, more, title, ...props\n}) => {\n const sizeVariants: Record<TitleSizeProp, TypographyVariant> = {\n full: 'caption',\n large: 'caption',\n medium: 'caption',\n small: 'caption',\n }\n\n const sizeTitleHeight: Record<TitleSizeProp, number | undefined> = {\n full: undefined,\n large: 32,\n medium: 20,\n small: 16,\n }\n\n const sizeFontSize: Record<TitleSizeProp, number> = {\n full: 16,\n large: 16,\n medium: 14,\n small: 10,\n }\n\n const quickTipSize = Math.min(sizeFontSize[size], 16)\n\n const theme = useTheme()\n\n return (\n <FlexRow\n bgcolor={\n theme.palette.mode === 'dark'\n ? lighten(theme.palette.background.paper, 0.05 * elevation)\n : darken(theme.palette.background.paper, 0.025 * elevation)\n }\n alignItems=\"center\"\n height={sizeTitleHeight[size]}\n justifyContent=\"space-between\"\n {...props}\n >\n <FlexRow paddingX={1} paddingY={0.5}>\n <Typography fontWeight={500} noWrap variant={sizeVariants[size]} fontSize={sizeFontSize[size]}>\n <small>\n <strong>{title}</strong>\n </small>\n </Typography>\n {tip\n ? (\n <QuickTipButton style={{ fontSize: quickTipSize }} color=\"inherit\" title={title ?? ''}>\n {tip}\n </QuickTipButton>\n )\n : null}\n </FlexRow>\n {more}\n </FlexRow>\n )\n}\n","import type { TypographyVariant } from '@mui/material'\nimport { CircularProgress, Paper } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport type { SizeProp } from '@xyo-network/react-shared'\nimport React from 'react'\n\nimport { PropertyActionsMenu } from './ActionsMenu.tsx'\nimport { IdenticonCorner } from './IdenticonCorner.tsx'\nimport type {\n PropertyBoxProps, PropertyPaperProps, PropertyProps,\n} from './Props.ts'\nimport { PropertyTitle } from './Title.tsx'\nimport { PropertyValue } from './Value.tsx'\n\nconst PropertyBox: React.FC<PropertyBoxProps> = ({\n titleProps, title, value, children, size = 'medium', tip, actions, required, badge = false, ...props\n}) => {\n const sizeValueHeight: Record<SizeProp, number> = {\n large: 48,\n medium: 36,\n small: 24,\n }\n\n const sizeVariants: Record<SizeProp, TypographyVariant> = {\n large: 'h6',\n medium: 'body1',\n small: 'body2',\n }\n\n return (\n <FlexRow flexDirection=\"column\" minWidth={0} alignItems=\"stretch\" overflow=\"hidden\" {...props}>\n {title === undefined\n ? null\n : (\n <PropertyTitle\n tip={tip}\n title={required ? `${title}*` : title}\n size={size}\n more={<PropertyActionsMenu actions={actions} />}\n {...titleProps}\n />\n )}\n <FlexRow\n pl={1}\n columnGap={1}\n justifyContent={value === undefined ? 'center' : 'space-between'}\n overflow=\"hidden\"\n height={sizeValueHeight[size]}\n >\n {children ?? ((value === undefined)\n ? <CircularProgress size={16} />\n : <PropertyValue value={value} typographyVariant={sizeVariants[size]} />)}\n {value === undefined\n ? null\n : badge\n ? <IdenticonCorner value={value} />\n : null}\n </FlexRow>\n </FlexRow>\n )\n}\nPropertyBox.displayName = 'PropertyBox'\n\nconst PropertyPaper: React.FC<PropertyPaperProps> = ({\n ref, style, variant, elevation = 2, square, ...props\n}) => {\n return (\n <Paper\n ref={ref}\n style={{\n minWidth: 0, overflow: 'hidden', ...style,\n }}\n variant={variant}\n elevation={elevation}\n square={square}\n >\n <PropertyBox {...props} paper={false} />\n </Paper>\n )\n}\nPropertyPaper.displayName = 'PropertyPaper'\n\nexport const Property: React.FC<PropertyProps> = ({ ...props }) => {\n return props.paper ? <PropertyPaper {...props} /> : <PropertyBox {...props} />\n}\nProperty.displayName = 'Property'\n","import { MoreHoriz as MoreHorizIcon } from '@mui/icons-material'\nimport {\n IconButton, Menu, MenuItem,\n} from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport React, { useState } from 'react'\n\nimport type { PropertyActionsProps } from './ActionsProps.ts'\n\nexport const PropertyActionsMenu: React.FC<PropertyActionsProps> = ({ actions, ...props }) => {\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null)\n const open = !!anchorEl\n\n const handleClick = (event: React.MouseEvent<HTMLElement>) => {\n setAnchorEl(event.currentTarget)\n }\n const handleClose = () => {\n setAnchorEl(null)\n }\n\n return actions && actions?.length > 0\n ? (\n <FlexRow {...props}>\n <IconButton size=\"small\" color=\"inherit\" onClick={handleClick}>\n <MoreHorizIcon fontSize=\"inherit\" />\n </IconButton>\n <Menu anchorEl={anchorEl} open={open} onClose={handleClose}>\n {actions?.map((action) => {\n return (\n <MenuItem\n key={action.name}\n onClick={() => {\n action?.onClick?.()\n handleClose()\n }}\n >\n {action.name}\n </MenuItem>\n )\n })}\n </Menu>\n </FlexRow>\n )\n : null\n}\n","import { useTheme } from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { Identicon } from '@xylabs/react-identicon'\nimport React, { useMemo, useRef } from 'react'\n\nexport interface IdenticonCornerProps extends FlexBoxProps {\n value?: string | number | boolean | null\n}\n\nexport const IdenticonCorner: React.FC<IdenticonCornerProps> = ({ value, ...props }) => {\n const theme = useTheme()\n const ref = useRef<HTMLDivElement>(null)\n\n const parentHeight = useMemo(() => ref.current?.parentElement?.parentElement?.clientHeight, [ref.current])\n\n const calculatedHeight = parentHeight ?? 0\n\n return (\n <FlexRow alignItems=\"flex-start\" height=\"100%\">\n <FlexRow background height={calculatedHeight} width={calculatedHeight} borderLeft={`1px solid ${theme.palette.divider}`}>\n <div ref={ref}>\n <Identicon size={calculatedHeight * 0.6} value={`${value}`} sx={{ padding: `${calculatedHeight * 0.2}px` }} {...props} />\n </div>\n </FlexRow>\n </FlexRow>\n )\n}\n","import type { Variant } from '@mui/material/styles/createTypography.js'\nimport type { EllipsizeBoxProps } from '@xyo-network/react-shared'\nimport { EllipsizeBox } from '@xyo-network/react-shared'\nimport React from 'react'\n\nexport interface PropertyValueProps extends Omit<EllipsizeBoxProps, 'ref'> {\n typographyVariant?: Variant\n value?: string | number | boolean | null\n}\n\nexport const PropertyValue = ({\n ref, typographyVariant = 'body1', value, ...props\n}: PropertyValueProps & { ref?: React.RefObject<HTMLDivElement | null> }) => {\n return value === undefined\n ? null\n : (\n <EllipsizeBox\n typographyProps={{\n component: undefined, title: value?.toString(), variant: typographyVariant,\n }}\n width=\"100%\"\n ref={ref}\n {...props}\n >\n {value}\n </EllipsizeBox>\n )\n}\n\nPropertyValue.displayName = 'PropertyValue'\n"],"mappings":";;;;AAAA,SAASA,OAAOC,YAAAA,iBAAgB;AAChC,SACEC,SAASC,aAAaC,WAAAA,gBACjB;AACP,SAASC,cAAc;AAEvB,OAAOC,YAAW;;;ACLlB,SACEC,QAAQC,SAASC,YAAYC,gBACxB;AAEP,SAASC,eAAe;AACxB,SAASC,sBAAsB;AAG/B,OAAOC,WAAW;AAYX,IAAMC,gBAA8C,wBAAC,EAC1DC,YAAY,GAAGC,OAAO,UAAUC,KAAKC,MAAMC,OAAO,GAAGC,MAAAA,MACtD;AACC,QAAMC,eAAyD;IAC7DC,MAAM;IACNC,OAAO;IACPC,QAAQ;IACRC,OAAO;EACT;AAEA,QAAMC,kBAA6D;IACjEJ,MAAMK;IACNJ,OAAO;IACPC,QAAQ;IACRC,OAAO;EACT;AAEA,QAAMG,eAA8C;IAClDN,MAAM;IACNC,OAAO;IACPC,QAAQ;IACRC,OAAO;EACT;AAEA,QAAMI,eAAeC,KAAKC,IAAIH,aAAaZ,IAAAA,GAAO,EAAA;AAElD,QAAMgB,QAAQC,SAAAA;AAEd,SACE,sBAAA,cAACC,SAAAA;IACCC,SACEH,MAAMI,QAAQC,SAAS,SACnBC,QAAQN,MAAMI,QAAQG,WAAWC,OAAO,OAAOzB,SAAAA,IAC/C0B,OAAOT,MAAMI,QAAQG,WAAWC,OAAO,QAAQzB,SAAAA;IAErD2B,YAAW;IACXC,QAAQjB,gBAAgBV,IAAAA;IACxB4B,gBAAe;IACd,GAAGxB;KAEJ,sBAAA,cAACc,SAAAA;IAAQW,UAAU;IAAGC,UAAU;KAC9B,sBAAA,cAACC,YAAAA;IAAWC,YAAY;IAAKC,QAAAA;IAAOC,SAAS7B,aAAaL,IAAAA;IAAOmC,UAAUvB,aAAaZ,IAAAA;KACtF,sBAAA,cAACS,SAAAA,MACC,sBAAA,cAAC2B,UAAAA,MAAQjC,KAAAA,CAAAA,CAAAA,GAGZF,MAEK,sBAAA,cAACoC,gBAAAA;IAAeC,OAAO;MAAEH,UAAUtB;IAAa;IAAG0B,OAAM;IAAUpC,OAAOA,SAAS;KAChFF,GAAAA,IAGL,IAAA,GAELC,IAAAA;AAGP,GAzD2D;;;ADR3D,IAAMsC,mBAAoD,wBAAC,EACzDC,YAAYC,UAAUC,OAAOC,KAAK,GAAGC,MAAAA,MACtC;AACC,QAAMC,QAAQC,UAAAA;AACd,QAAMC,gBAAgBC,OAAOP,QAAAA,MAAc,UAAWA,WAA8BQ;AACpF,SACE,gBAAAC,OAAA,cAACC,SAAAA;IAAQC,YAAW;IAAUC,UAAS;IAAU,GAAGT;KAClD,gBAAAM,OAAA,cAACI,UAAAA;IAAQD,UAAS;IAASE,gBAAe;IAAUH,YAAW;KAC7D,gBAAAF,OAAA,cAACM,eAAAA;IAAcJ,YAAW;IAAaK,MAAK;IAAOf;IAAcC;IAAW,GAAGH;MAC9EO,gBAEK,gBAAAG,OAAA,cAACQ,aAAAA,MACEX,eAAeY,IAAI,CAACC,OAAOC,UAAAA;AAC1B,WAAOD,QAED,gBAAAV,OAAA,cAACQ,aAAAA;MAAYI,KAAKD;MAAOE,YAAY;MAAGC,aAAanB,MAAMoB,QAAQC;OAChEN,KAAAA,IAGL;EACN,CAAA,CAAA,IAGJ,gBAAAV,OAAA,cAACQ,aAAAA;IAAYL,UAAS;KAAUZ,QAAAA,CAAAA,CAAAA;AAI5C,GA3B0D;AA6B1D,IAAM0B,qBAAwD,wBAAC,EAC7DC,OAAOC,SAASC,WAAWC,QAAQ,GAAG3B,MAAAA,MACvC;AACC,SACE,gBAAAM,OAAA,cAACsB,OAAAA;IACCJ,OAAO;MACLK,UAAU;MAAGpB,UAAU;MAAU,GAAGe;IACtC;IACAC;IACAC;IACAC;KAEA,gBAAArB,OAAA,cAACX,kBAAAA;IAAkB,GAAGK;IAAO8B,OAAO;;AAG1C,GAf8D;AAiBvD,IAAMC,gBAA8C,wBAAC/B,UAAAA;AAC1D,SAAOA,MAAM8B,QAAQ,gBAAAxB,OAAA,cAACiB,oBAAuBvB,KAAAA,IAAY,gBAAAM,OAAA,cAACX,kBAAqBK,KAAAA;AACjF,GAF2D;;;AE1D3D,SAASgC,kBAAkBC,SAAAA,cAAa;AACxC,SAASC,WAAAA,gBAAe;AAExB,OAAOC,YAAW;;;ACJlB,SAASC,aAAaC,qBAAqB;AAC3C,SACEC,YAAYC,MAAMC,gBACb;AACP,SAASC,WAAAA,gBAAe;AACxB,OAAOC,UAASC,gBAAgB;AAIzB,IAAMC,sBAAsD,wBAAC,EAAEC,SAAS,GAAGC,MAAAA,MAAO;AACvF,QAAM,CAACC,UAAUC,WAAAA,IAAeC,SAA6B,IAAA;AAC7D,QAAMC,OAAO,CAAC,CAACH;AAEf,QAAMI,cAAc,wBAACC,UAAAA;AACnBJ,gBAAYI,MAAMC,aAAa;EACjC,GAFoB;AAGpB,QAAMC,cAAc,6BAAA;AAClBN,gBAAY,IAAA;EACd,GAFoB;AAIpB,SAAOH,WAAWA,SAASU,SAAS,IAE9B,gBAAAC,OAAA,cAACC,UAAYX,OACX,gBAAAU,OAAA,cAACE,YAAAA;IAAWC,MAAK;IAAQC,OAAM;IAAUC,SAASV;KAChD,gBAAAK,OAAA,cAACM,eAAAA;IAAcC,UAAS;OAE1B,gBAAAP,OAAA,cAACQ,MAAAA;IAAKjB;IAAoBG;IAAYe,SAASX;KAC5CT,SAASqB,IAAI,CAACC,WAAAA;AACb,WACE,gBAAAX,OAAA,cAACY,UAAAA;MACCC,KAAKF,OAAOG;MACZT,SAAS,6BAAA;AACPM,gBAAQN,UAAAA;AACRP,oBAAAA;MACF,GAHS;OAKRa,OAAOG,IAAI;EAGlB,CAAA,CAAA,CAAA,IAIN;AACN,GAnCmE;;;ACTnE,SAASC,YAAAA,iBAAgB;AAEzB,SAASC,WAAAA,gBAAe;AACxB,SAASC,iBAAiB;AAC1B,OAAOC,UAASC,SAASC,cAAc;AAMhC,IAAMC,kBAAkD,wBAAC,EAAEC,OAAO,GAAGC,MAAAA,MAAO;AACjF,QAAMC,QAAQC,UAAAA;AACd,QAAMC,MAAMC,OAAuB,IAAA;AAEnC,QAAMC,eAAeC,QAAQ,MAAMH,IAAII,SAASC,eAAeA,eAAeC,cAAc;IAACN,IAAII;GAAQ;AAEzG,QAAMG,mBAAmBL,gBAAgB;AAEzC,SACE,gBAAAM,OAAA,cAACC,UAAAA;IAAQC,YAAW;IAAaC,QAAO;KACtC,gBAAAH,OAAA,cAACC,UAAAA;IAAQG,YAAAA;IAAWD,QAAQJ;IAAkBM,OAAON;IAAkBO,YAAY,aAAahB,MAAMiB,QAAQC,OAAO;KACnH,gBAAAR,OAAA,cAACS,OAAAA;IAAIjB;KACH,gBAAAQ,OAAA,cAACU,WAAAA;IAAUC,MAAMZ,mBAAmB;IAAKX,OAAO,GAAGA,KAAAA;IAASwB,IAAI;MAAEC,SAAS,GAAGd,mBAAmB,GAAA;IAAQ;IAAI,GAAGV;;AAK1H,GAjB+D;;;ACR/D,SAASyB,oBAAoB;AAC7B,OAAOC,YAAW;AAOX,IAAMC,gBAAgB,wBAAC,EAC5BC,KAAKC,oBAAoB,SAASC,OAAO,GAAGC,MAAAA,MAC0B;AACtE,SAAOD,UAAUE,SACb,OAEE,gBAAAC,OAAA,cAACC,cAAAA;IACCC,iBAAiB;MACfC,WAAWJ;MAAWK,OAAOP,OAAOQ,SAAAA;MAAYC,SAASV;IAC3D;IACAW,OAAM;IACNZ;IACC,GAAGG;KAEHD,KAAAA;AAGX,GAjB6B;AAmB7BH,cAAcc,cAAc;;;AHf5B,IAAMC,cAA0C,wBAAC,EAC/CC,YAAYC,OAAOC,OAAOC,UAAUC,OAAO,UAAUC,KAAKC,SAASC,UAAUC,QAAQ,OAAO,GAAGC,MAAAA,MAChG;AACC,QAAMC,kBAA4C;IAChDC,OAAO;IACPC,QAAQ;IACRC,OAAO;EACT;AAEA,QAAMC,eAAoD;IACxDH,OAAO;IACPC,QAAQ;IACRC,OAAO;EACT;AAEA,SACE,gBAAAE,OAAA,cAACC,UAAAA;IAAQC,eAAc;IAASC,UAAU;IAAGC,YAAW;IAAUC,UAAS;IAAU,GAAGX;KACrFR,UAAUoB,SACP,OAEE,gBAAAN,OAAA,cAACO,eAAAA;IACCjB;IACAJ,OAAOM,WAAW,GAAGN,KAAAA,MAAWA;IAChCG;IACAmB,MAAM,gBAAAR,OAAA,cAACS,qBAAAA;MAAoBlB;;IAC1B,GAAGN;MAGZ,gBAAAe,OAAA,cAACC,UAAAA;IACCS,IAAI;IACJC,WAAW;IACXC,gBAAgBzB,UAAUmB,SAAY,WAAW;IACjDD,UAAS;IACTQ,QAAQlB,gBAAgBN,IAAAA;KAEvBD,aAAcD,UAAUmB,SACrB,gBAAAN,OAAA,cAACc,kBAAAA;IAAiBzB,MAAM;OACxB,gBAAAW,OAAA,cAACe,eAAAA;IAAc5B;IAAc6B,mBAAmBjB,aAAaV,IAAAA;OAChEF,UAAUmB,SACP,OACAb,QACE,gBAAAO,OAAA,cAACiB,iBAAAA;IAAgB9B;OACjB,IAAA,CAAA;AAId,GA9CgD;AA+ChDH,YAAYkC,cAAc;AAE1B,IAAMC,gBAA8C,wBAAC,EACnDC,KAAKC,OAAOC,SAASC,YAAY,GAAGC,QAAQ,GAAG9B,MAAAA,MAChD;AACC,SACE,gBAAAM,OAAA,cAACyB,QAAAA;IACCL;IACAC,OAAO;MACLlB,UAAU;MAAGE,UAAU;MAAU,GAAGgB;IACtC;IACAC;IACAC;IACAC;KAEA,gBAAAxB,OAAA,cAAChB,aAAAA;IAAa,GAAGU;IAAOgC,OAAO;;AAGrC,GAhBoD;AAiBpDP,cAAcD,cAAc;AAErB,IAAMS,WAAoC,wBAAC,EAAE,GAAGjC,MAAAA,MAAO;AAC5D,SAAOA,MAAMgC,QAAQ,gBAAA1B,OAAA,cAACmB,eAAkBzB,KAAAA,IAAY,gBAAAM,OAAA,cAAChB,aAAgBU,KAAAA;AACvE,GAFiD;AAGjDiC,SAAST,cAAc;","names":["Paper","useTheme","FlexCol","FlexGrowRow","FlexRow","typeOf","React","darken","lighten","Typography","useTheme","FlexRow","QuickTipButton","React","PropertyTitle","elevation","size","tip","more","title","props","sizeVariants","full","large","medium","small","sizeTitleHeight","undefined","sizeFontSize","quickTipSize","Math","min","theme","useTheme","FlexRow","bgcolor","palette","mode","lighten","background","paper","darken","alignItems","height","justifyContent","paddingX","paddingY","Typography","fontWeight","noWrap","variant","fontSize","strong","QuickTipButton","style","color","PropertyGroupBox","titleProps","children","title","tip","props","theme","useTheme","childrenArray","typeOf","undefined","React","FlexCol","alignItems","overflow","FlexRow","justifyContent","PropertyTitle","size","FlexGrowRow","map","child","index","key","borderLeft","borderColor","palette","divider","PropertyGroupPaper","style","variant","elevation","square","Paper","minWidth","paper","PropertyGroup","CircularProgress","Paper","FlexRow","React","MoreHoriz","MoreHorizIcon","IconButton","Menu","MenuItem","FlexRow","React","useState","PropertyActionsMenu","actions","props","anchorEl","setAnchorEl","useState","open","handleClick","event","currentTarget","handleClose","length","React","FlexRow","IconButton","size","color","onClick","MoreHorizIcon","fontSize","Menu","onClose","map","action","MenuItem","key","name","useTheme","FlexRow","Identicon","React","useMemo","useRef","IdenticonCorner","value","props","theme","useTheme","ref","useRef","parentHeight","useMemo","current","parentElement","clientHeight","calculatedHeight","React","FlexRow","alignItems","height","background","width","borderLeft","palette","divider","div","Identicon","size","sx","padding","EllipsizeBox","React","PropertyValue","ref","typographyVariant","value","props","undefined","React","EllipsizeBox","typographyProps","component","title","toString","variant","width","displayName","PropertyBox","titleProps","title","value","children","size","tip","actions","required","badge","props","sizeValueHeight","large","medium","small","sizeVariants","React","FlexRow","flexDirection","minWidth","alignItems","overflow","undefined","PropertyTitle","more","PropertyActionsMenu","pl","columnGap","justifyContent","height","CircularProgress","PropertyValue","typographyVariant","IdenticonCorner","displayName","PropertyPaper","ref","style","variant","elevation","square","Paper","paper","Property"]}
|
|
@@ -1,9 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { PropertyProps } from './Props.ts';
|
|
3
|
-
export declare const Property:
|
|
4
|
-
({ ref, ...props }: PropertyProps & {
|
|
5
|
-
ref?: React.RefObject<HTMLDivElement | null>;
|
|
6
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
7
|
-
displayName: string;
|
|
8
|
-
};
|
|
3
|
+
export declare const Property: React.FC<PropertyProps>;
|
|
9
4
|
//# sourceMappingURL=Property.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Property.d.ts","sourceRoot":"","sources":["../../../src/components/Property.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,KAAK,EAC4B,aAAa,EACpD,MAAM,YAAY,CAAA;AAwEnB,eAAO,MAAM,QAAQ
|
|
1
|
+
{"version":3,"file":"Property.d.ts","sourceRoot":"","sources":["../../../src/components/Property.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,KAAK,EAC4B,aAAa,EACpD,MAAM,YAAY,CAAA;AAwEnB,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAE5C,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/react-property",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.1",
|
|
4
4
|
"description": "Common React library for all XYO projects that use React",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"xyo",
|
|
@@ -37,17 +37,17 @@
|
|
|
37
37
|
"./package.json": "./package.json"
|
|
38
38
|
},
|
|
39
39
|
"module": "dist/browser/index.mjs",
|
|
40
|
-
"types": "dist/
|
|
40
|
+
"types": "dist/types/index.d.ts",
|
|
41
41
|
"scripts": {
|
|
42
42
|
"license": "yarn license-checker --exclude \"MIT, ISC, Apache-2.0, BSD, BSD-2-Clause, CC-BY-4.0, Unlicense, CC-BY-3.0, CC0-1.0\"",
|
|
43
43
|
"lint-pkg": "npmPkgJsonLint ."
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@xylabs/react-button": "^6.0.
|
|
47
|
-
"@xylabs/react-flexbox": "^6.0.
|
|
48
|
-
"@xylabs/react-identicon": "^6.0.
|
|
49
|
-
"@xylabs/react-quick-tip-button": "^6.0.
|
|
50
|
-
"@xyo-network/react-shared": "^5.0.
|
|
46
|
+
"@xylabs/react-button": "^6.0.2",
|
|
47
|
+
"@xylabs/react-flexbox": "^6.0.2",
|
|
48
|
+
"@xylabs/react-identicon": "^6.0.2",
|
|
49
|
+
"@xylabs/react-quick-tip-button": "^6.0.2",
|
|
50
|
+
"@xyo-network/react-shared": "^5.0.1",
|
|
51
51
|
"@xyo-network/typeof": "^3.9.37"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
@@ -56,8 +56,8 @@
|
|
|
56
56
|
"@mui/styles": "^6.4.7",
|
|
57
57
|
"@storybook/react": "^8.6.4",
|
|
58
58
|
"@types/react": "^19.0.10",
|
|
59
|
-
"@xylabs/ts-scripts-yarn3": "^6.0.
|
|
60
|
-
"@xylabs/tsconfig-react": "^6.0.
|
|
59
|
+
"@xylabs/ts-scripts-yarn3": "^6.0.8",
|
|
60
|
+
"@xylabs/tsconfig-react": "^6.0.8",
|
|
61
61
|
"react": "^19.0.0",
|
|
62
62
|
"react-dom": "^19.0.0",
|
|
63
63
|
"storybook": "^8.6.4",
|
|
@@ -12,9 +12,9 @@ import type {
|
|
|
12
12
|
import { PropertyTitle } from './Title.tsx'
|
|
13
13
|
import { PropertyValue } from './Value.tsx'
|
|
14
14
|
|
|
15
|
-
const PropertyBox = ({
|
|
16
|
-
|
|
17
|
-
}
|
|
15
|
+
const PropertyBox: React.FC<PropertyBoxProps> = ({
|
|
16
|
+
titleProps, title, value, children, size = 'medium', tip, actions, required, badge = false, ...props
|
|
17
|
+
}) => {
|
|
18
18
|
const sizeValueHeight: Record<SizeProp, number> = {
|
|
19
19
|
large: 48,
|
|
20
20
|
medium: 36,
|
|
@@ -28,7 +28,7 @@ const PropertyBox = ({
|
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
return (
|
|
31
|
-
<FlexRow
|
|
31
|
+
<FlexRow flexDirection="column" minWidth={0} alignItems="stretch" overflow="hidden" {...props}>
|
|
32
32
|
{title === undefined
|
|
33
33
|
? null
|
|
34
34
|
: (
|
|
@@ -61,9 +61,9 @@ const PropertyBox = ({
|
|
|
61
61
|
}
|
|
62
62
|
PropertyBox.displayName = 'PropertyBox'
|
|
63
63
|
|
|
64
|
-
const PropertyPaper = ({
|
|
64
|
+
const PropertyPaper: React.FC<PropertyPaperProps> = ({
|
|
65
65
|
ref, style, variant, elevation = 2, square, ...props
|
|
66
|
-
}
|
|
66
|
+
}) => {
|
|
67
67
|
return (
|
|
68
68
|
<Paper
|
|
69
69
|
ref={ref}
|
|
@@ -80,7 +80,7 @@ const PropertyPaper = ({
|
|
|
80
80
|
}
|
|
81
81
|
PropertyPaper.displayName = 'PropertyPaper'
|
|
82
82
|
|
|
83
|
-
export const Property = ({
|
|
84
|
-
return props.paper ? <PropertyPaper
|
|
83
|
+
export const Property: React.FC<PropertyProps> = ({ ...props }) => {
|
|
84
|
+
return props.paper ? <PropertyPaper {...props} /> : <PropertyBox {...props} />
|
|
85
85
|
}
|
|
86
86
|
Property.displayName = 'Property'
|