@digital-ai/dot-components 5.12.1 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.esm.js CHANGED
@@ -162,7 +162,6 @@ const DotTypography = ({
162
162
  children,
163
163
  component,
164
164
  hasShimmer,
165
- noMarginBottom,
166
165
  noWrap,
167
166
  variant
168
167
  }) => {
@@ -171,9 +170,6 @@ const DotTypography = ({
171
170
  if (ariaRole === 'heading' && !ariaLevel) {
172
171
  console.warn('please include ariaLevel when using ariaRole="heading"');
173
172
  }
174
- if (noMarginBottom) {
175
- console.warn('DEPRECATED: `noMarginBottom` on `DotTypography` is no longer included');
176
- }
177
173
  }, []);
178
174
  return jsx(StyledTypography, {
179
175
  "aria-label": ariaLabel,
@@ -185,9 +181,6 @@ const DotTypography = ({
185
181
  "data-testid": dataTestId,
186
182
  noWrap: noWrap,
187
183
  role: ariaRole,
188
- style: {
189
- marginBottom: noMarginBottom ? 0 : undefined
190
- },
191
184
  variant: variant,
192
185
  children: children
193
186
  });
@@ -3241,10 +3234,6 @@ const DotLink = ({
3241
3234
  if (!isString$2(children) && !ariaLabel) {
3242
3235
  console.warn(`a11y: Consider adding an 'ariaLabel' to 'DotLink' when used without text`);
3243
3236
  }
3244
- // Include a console warning if the color value is set to initial
3245
- if (color === 'initial') {
3246
- console.warn(`deprecated: initial color value is deprecated and inherit will be used instead`);
3247
- }
3248
3237
  }, []);
3249
3238
  const handleKeyPress = event => {
3250
3239
  if (onClick && event.key === 'Enter') {
@@ -3259,12 +3248,12 @@ const DotLink = ({
3259
3248
  classes: {
3260
3249
  root: rootClasses
3261
3250
  },
3262
- color: color === 'initial' ? 'inherit' : color,
3251
+ color: color,
3263
3252
  "data-pendoid": dataPendoId,
3264
3253
  "data-testid": dataTestId,
3265
3254
  href: href,
3266
3255
  onClick: onClick,
3267
- onKeyPress: handleKeyPress,
3256
+ onKeyDown: handleKeyPress,
3268
3257
  onMouseEnter: onMouseEnter,
3269
3258
  onPointerDown: onPointerDown,
3270
3259
  rel: rel,
@@ -4983,7 +4972,6 @@ const DotCopyButton = ({
4983
4972
  className,
4984
4973
  color = 'inherit',
4985
4974
  copiedTooltip = 'Copied!',
4986
- copyTooltip = 'Copy to clipboard',
4987
4975
  'data-pendoid': dataPendoId = rootClassName$1a,
4988
4976
  'data-testid': dataTestId = 'dot-copy-button',
4989
4977
  disableInteractive,
@@ -5000,10 +4988,6 @@ const DotCopyButton = ({
5000
4988
  }) => {
5001
4989
  const [timedShowCopiedIcon, setTimedShowCopiedIcon] = useState(false);
5002
4990
  const [timedDisabled, setTimedDisabled] = useState(false);
5003
- // To keep backward compatibility if tooltip is not set, use copyTooltip
5004
- if (!tooltip) {
5005
- tooltip = copyTooltip;
5006
- }
5007
4991
  const copyToClipboard = useCallback(() => {
5008
4992
  // The check for navigator.clipboard.writeText is because this function is
5009
4993
  // only supported in secure contexts (https). This will always be the case in
@@ -5491,7 +5475,7 @@ const createMenuItem = (url, title, subtitle, onClick) => jsxs("div", {
5491
5475
  })]
5492
5476
  })
5493
5477
  }), jsx(DotCopyButton, {
5494
- copyTooltip: "Copy application URL",
5478
+ tooltip: "Copy application URL",
5495
5479
  value: url
5496
5480
  })]
5497
5481
  }, `app-menu-item-${title}`);
@@ -8306,7 +8290,7 @@ const StyledToggleButtonGroup = styled(ToggleButtonGroup)`
8306
8290
  margin-left: 0;
8307
8291
  }
8308
8292
 
8309
- .MuiBadge-badge {
8293
+ .MuiBadge-badge:not(.MuiBadge-invisible) {
8310
8294
  position: static;
8311
8295
  transform: none;
8312
8296
  }
@@ -8409,9 +8393,23 @@ const DotButtonToggle = ({
8409
8393
  value
8410
8394
  }) => {
8411
8395
  const rootClasses = useStylesWithRootClass(rootClassName$$, className);
8396
+ const checkIfValidBadge = badge => {
8397
+ const {
8398
+ variant,
8399
+ badgeContent
8400
+ } = badge;
8401
+ return variant === 'standard' && !isNaN(badgeContent) || variant === 'dot';
8402
+ };
8403
+ const renderBadge = (badge, textTypography) => {
8404
+ return jsx(DotBadge, Object.assign({}, badge, {
8405
+ className: useStylesWithRootClass('toggle-button-badge', badge.className),
8406
+ "data-testid": dataTestId && `${dataTestId}-badge`,
8407
+ children: textTypography
8408
+ }));
8409
+ };
8412
8410
  const renderToggleButton = ({
8413
8411
  ariaLabel: optionAriaLabel,
8414
- badgeContent: optionBadgeContent,
8412
+ badge: optionBadge,
8415
8413
  className: optionClassName,
8416
8414
  disabled: optionDisabled,
8417
8415
  iconId: optionIconId,
@@ -8439,23 +8437,21 @@ const DotButtonToggle = ({
8439
8437
  children: optionText
8440
8438
  })]
8441
8439
  });
8442
- return optionBadgeContent && !isNaN(optionBadgeContent) && optionBadgeContent > 0 && optionText ? jsx(DotBadge, {
8443
- "data-testid": dataTestId && `${dataTestId}-badge`,
8444
- className: "toggle-button-badge",
8445
- badgeContent: optionBadgeContent,
8446
- variant: "standard",
8447
- children: optionTextTypography
8448
- }) : optionTextTypography;
8440
+ return optionBadge && checkIfValidBadge(optionBadge) ? renderBadge(optionBadge, optionTextTypography) : optionTextTypography;
8449
8441
  };
8450
8442
  const children = getChildren();
8451
- return optionTooltip ? jsx(TooltipToggleButton, Object.assign({}, commonProps, {
8443
+ const {
8444
+ key: commonPropsKey
8445
+ } = commonProps,
8446
+ commonPropsWithoutKey = __rest(commonProps, ["key"]);
8447
+ return optionTooltip ? createElement(TooltipToggleButton, Object.assign({}, commonPropsWithoutKey, {
8448
+ key: commonPropsKey,
8452
8449
  CustomTooltipProps: {
8453
8450
  title: optionTooltip,
8454
8451
  disableInteractive: optionDisableInteractive
8455
8452
  },
8456
- value: optionValue,
8457
- children: children
8458
- })) : jsx(ToggleButton, Object.assign({}, commonProps, {
8453
+ value: optionValue
8454
+ }), children) : jsx(ToggleButton, Object.assign({}, commonProps, {
8459
8455
  role: "button",
8460
8456
  children: children
8461
8457
  }));
@@ -11563,7 +11559,6 @@ const DotSnackbar = ({
11563
11559
  children: jsxs("div", {
11564
11560
  children: [jsx(DotTypography, {
11565
11561
  variant: "subtitle2",
11566
- noMarginBottom: false,
11567
11562
  children: getSnackbarTitleFromSeverity(severity)
11568
11563
  }), isString$2(children) ? jsx(DotTypography, {
11569
11564
  ariaLabel: severity,
@@ -14867,7 +14862,6 @@ const DotSwitch = ({
14867
14862
  ariaLabel,
14868
14863
  checked,
14869
14864
  className,
14870
- color,
14871
14865
  'data-pendoid': dataPendoId = rootClassName$C,
14872
14866
  'data-testid': dataTestId,
14873
14867
  disabled = false,
@@ -14882,11 +14876,6 @@ const DotSwitch = ({
14882
14876
  const handleChange = event => {
14883
14877
  onChange && onChange(event);
14884
14878
  };
14885
- useEffect(() => {
14886
- if (color) {
14887
- console.warn('DEPRECATED: `color` prop is deprecated, please remove any usage of it in your application.');
14888
- }
14889
- }, []);
14890
14879
  // Future version of MUI v6 will have proper role="switch" instead of role="checkbox"
14891
14880
  // https://github.com/mui/material-ui/pull/17870
14892
14881
  const switchControl = jsx(StyledSwitch, {
@@ -17512,16 +17501,13 @@ const DotBodyCell = ({
17512
17501
  onClick: () => onActionMenuTrigger(wrapperRef.current, value),
17513
17502
  size: "small"
17514
17503
  }) : value.map(item => {
17515
- if (item.onclick) {
17516
- console.warn('The onclick property is deprecated, please use onClick instead');
17517
- }
17518
17504
  return jsx(DotIconButton, {
17519
17505
  className: "dot-table-action-icon",
17520
17506
  "data-testid": item.dataTestId,
17521
17507
  disabled: item.disabled,
17522
17508
  iconId: item.iconId,
17523
17509
  iconSize: "small",
17524
- onClick: item.onClick || item.onclick,
17510
+ onClick: item.onClick,
17525
17511
  size: "small",
17526
17512
  tooltip: item.tooltip
17527
17513
  }, `${cellKey}-icon-${CreateUUID()}`);
@@ -18753,7 +18739,6 @@ const StyledTabs = styled(Tabs)`
18753
18739
  const DotTabs = ({
18754
18740
  centered = false,
18755
18741
  className,
18756
- color,
18757
18742
  'data-pendoid': dataPendoId = rootClassName$l,
18758
18743
  'data-testid': dataTestId,
18759
18744
  initialValue = 0,
@@ -18764,11 +18749,6 @@ const DotTabs = ({
18764
18749
  }) => {
18765
18750
  const [value, setValue] = useState(initialValue);
18766
18751
  const rootClasses = useStylesWithRootClass(rootClassName$l, className);
18767
- useEffect(() => {
18768
- if (color) {
18769
- console.warn('DEPRECATED: `color` prop is deprecated in `<DotTabs>`, please remove any usage of it in your application.');
18770
- }
18771
- }, []);
18772
18752
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
18773
18753
  const handleChange = (_event, val) => {
18774
18754
  setValue(val);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digital-ai/dot-components",
3
- "version": "5.12.1",
3
+ "version": "6.0.0",
4
4
  "private": false,
5
5
  "license": "SEE LICENSE IN <LICENSE.md>",
6
6
  "contributors": [
@@ -1,5 +1,5 @@
1
1
  export declare const dashboardCategoriesContainerClassName = "dashboard-categories-container";
2
- export declare const InlineMessage: import("styled-components").StyledComponent<({ ai, ariaLabel, ariaLevel, ariaRole, className, "data-testid": dataTestId, children, component, hasShimmer, noMarginBottom, noWrap, variant, }: import("../../typography/Typography").TypographyProps) => import("react/jsx-runtime").JSX.Element, any, {}, never>;
2
+ export declare const InlineMessage: import("styled-components").StyledComponent<({ ai, ariaLabel, ariaLevel, ariaRole, className, "data-testid": dataTestId, children, component, hasShimmer, noWrap, variant, }: import("../../typography/Typography").TypographyProps) => import("react/jsx-runtime").JSX.Element, any, {}, never>;
3
3
  export declare const StyledPublishConfirmDiv: import("styled-components").StyledComponent<"div", any, {}, never>;
4
4
  export declare const StyledAppSelectDiv: import("styled-components").StyledComponent<"div", any, {}, never>;
5
5
  export declare const StyledAppSelectDotAutoComplete: import("styled-components").StyledComponent<(<T extends import("../..").AutoCompleteOption>({ ListboxComponent, additionalLabelContent, actionItem, ai, aiAction, ariaLabel, autoFocus, autoHighlight, className, "data-pendoid": dataPendoId, "data-testid": dataTestId, defaultValue, dense, disableCloseOnSelect, disabled, disablePortal, endAdornmentTooltip, error, filterOptions, filterSelectedOptions, freesolo, checkIfOptionDisabled, group, helperText, informationToolTip, inputId, inputRef, inputValue, isOptionEqualToValue, label, loading, maxHeight, multiple, onBlur, onChange, onClose, onInputChange, onOpen, open, options, persistentLabel, placeholder, popperClassName, popperPlacement, popperZIndex, preserveGroupOrder, readOnly, renderGroup, renderOption, renderTags, required, size, trimLongOptions, value, warning, }: import("../../auto-complete/AutoComplete").AutoCompleteProps<T>) => import("react/jsx-runtime").JSX.Element), any, {}, never>;
@@ -2,5 +2,5 @@ import { AvatarGroup } from '@mui/material';
2
2
  export declare const rootClassName = "dot-avatar-group";
3
3
  export declare const StyledAvatarGroup: import("styled-components").StyledComponent<typeof AvatarGroup, any, {}, never>;
4
4
  export declare const StyledDotTooltip: import("styled-components").StyledComponent<({ ariaLabel, ariaRole, arrow, children, className, "data-testid": dataTestId, disablePortal, disableInteractive, followCursor, enterDelay, enterNextDelay, hoverVisibility, leaveDelay, onClose, open, placement, popperClassName, popperOptions, slotProps, title, childrenDisplayStyle, }: import("../tooltip").TooltipProps) => import("react/jsx-runtime").JSX.Element, any, {}, never>;
5
- export declare const StyledDotTypography: import("styled-components").StyledComponent<({ ai, ariaLabel, ariaLevel, ariaRole, className, "data-testid": dataTestId, children, component, hasShimmer, noMarginBottom, noWrap, variant, }: import("../typography/Typography").TypographyProps) => import("react/jsx-runtime").JSX.Element, any, {}, never>;
5
+ export declare const StyledDotTypography: import("styled-components").StyledComponent<({ ai, ariaLabel, ariaLevel, ariaRole, className, "data-testid": dataTestId, children, component, hasShimmer, noWrap, variant, }: import("../typography/Typography").TypographyProps) => import("react/jsx-runtime").JSX.Element, any, {}, never>;
6
6
  export declare const StyledExtraAvatarSpan: import("styled-components").StyledComponent<"span", any, {}, never>;
@@ -2,13 +2,11 @@ import { CommonIconButtonProps } from './IconButton';
2
2
  export interface CopyButtonProps extends CommonIconButtonProps {
3
3
  /** Tooltip shown briefly after the value has been copied. */
4
4
  copiedTooltip?: string;
5
- /** DEPRECATED Use tooltip instead */
6
- copyTooltip?: string;
7
5
  /** The icon to display on the button, defaults to 'duplicate' */
8
6
  iconId?: string;
9
- /** By default a check icon will briefly display after the content is copied */
7
+ /** By default, a check icon will briefly display after the content is copied */
10
8
  showCopiedIcon?: boolean;
11
9
  /** The content which will be copied to the clipboard */
12
10
  value: string;
13
11
  }
14
- export declare const DotCopyButton: ({ ariaLabel, ariaRole, className, color, copiedTooltip, copyTooltip, "data-pendoid": dataPendoId, "data-testid": dataTestId, disableInteractive, disabled, disableRipple, iconId, iconSize, onClick, shape, showCopiedIcon, size, tooltip, value, }: CopyButtonProps) => import("react/jsx-runtime").JSX.Element;
12
+ export declare const DotCopyButton: ({ ariaLabel, ariaRole, className, color, copiedTooltip, "data-pendoid": dataPendoId, "data-testid": dataTestId, disableInteractive, disabled, disableRipple, iconId, iconSize, onClick, shape, showCopiedIcon, size, tooltip, value, }: CopyButtonProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,3 +1,3 @@
1
- export type { ButtonToggleOrientation, ButtonToggleOption, ButtonToggleSingleValue, ButtonToggleSize, ButtonToggleValue, } from './utils/models';
1
+ export type { ButtonToggleBadge, ButtonToggleOrientation, ButtonToggleOption, ButtonToggleSingleValue, ButtonToggleSize, ButtonToggleValue, } from './utils/models';
2
2
  export type { ButtonToggleProps } from './ButtonToggle';
3
3
  export { DotButtonToggle } from './ButtonToggle';
@@ -1,12 +1,14 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { CommonProps } from '../../CommonProps';
3
+ import { BadgeProps } from '../../badge';
3
4
  export type ButtonToggleSingleValue = string | number | boolean;
4
5
  export type ButtonToggleSize = 'small' | 'medium' | 'large';
5
6
  export type ButtonToggleOrientation = 'horizontal' | 'vertical';
6
7
  export type ButtonToggleValue = ButtonToggleSingleValue | Array<ButtonToggleSingleValue>;
8
+ export type ButtonToggleBadge = Omit<BadgeProps, 'children' | 'data-testid' | 'overlap'>;
7
9
  export interface ButtonToggleOption extends CommonProps {
8
10
  ariaLabel: string;
9
- badgeContent?: number;
11
+ badge?: ButtonToggleBadge;
10
12
  disableInteractive?: boolean;
11
13
  disabled?: boolean;
12
14
  iconId?: string;
@@ -8,7 +8,7 @@ export type { AvatarProps } from './avatar/Avatar';
8
8
  export type { AvatarTitleProps, AvatarWithDetailsProps, } from './avatar-with-details/AvatarWithDetails';
9
9
  export type { BreadcrumbItem } from './breadcrumbs/Breadcrumbs';
10
10
  export type { ButtonProps, CopyButtonProps, IconButtonProps, IconButtonColor, IconButtonSize, } from './button';
11
- export type { ButtonToggleProps, ButtonToggleValue, ButtonToggleOption, ButtonToggleOrientation, ButtonToggleSingleValue, ButtonToggleSize, } from './button-toggle';
11
+ export type { ButtonToggleBadge, ButtonToggleProps, ButtonToggleValue, ButtonToggleOption, ButtonToggleOrientation, ButtonToggleSingleValue, ButtonToggleSize, } from './button-toggle';
12
12
  export type { CheckboxProps } from './checkbox/Checkbox';
13
13
  export type { CheckboxGroupProps } from './checkbox/CheckboxGroup';
14
14
  export type { DialogButtonProps, SubmitButtonProps } from './dialog/Dialog';
@@ -26,7 +26,7 @@ export type { RailItem, RailItemsPosition } from './navigation-rail';
26
26
  export type { RadioButtonProps } from './radio/RadioButton';
27
27
  export type { RadioGroupProps } from './radio/RadioGroup';
28
28
  export type { BackItemProps, SidebarProps } from './sidebar/Sidebar';
29
- export type { SwitchProps, SwitchColor, SwitchSize, SwitchLabelPlacement, } from './switch';
29
+ export type { SwitchProps, SwitchSize, SwitchLabelPlacement } from './switch';
30
30
  export type { CollapsibleTableOptions } from './table/collapsible-table';
31
31
  export type { DotColumnHeader, MultiSelect, Order, RowSelectionChangeHandler, RowsPerPageOption, TableActionProps, TableActionsProps, TableDataWithPagination, TableRowProps, TableRowSelectChangeHandler, TextAlignment, SortDirection, } from './table';
32
32
  export type { TabProps } from './tabs/Tabs';
@@ -1,7 +1,7 @@
1
1
  import { KeyboardEvent, MouseEvent, PointerEvent, ReactNode } from 'react';
2
2
  import { CommonProps } from '../CommonProps';
3
3
  import { TypographyVariant } from '../typography/Typography';
4
- export type LinkColor = 'initial' | 'inherit' | 'primary' | 'secondary' | 'textPrimary' | 'textSecondary' | 'error';
4
+ export type LinkColor = 'inherit' | 'primary' | 'secondary' | 'textPrimary' | 'textSecondary' | 'error';
5
5
  export type LinkUnderline = 'always' | 'hover' | 'none';
6
6
  export type LinkTarget = '_blank' | '_self';
7
7
  export interface LinkProps extends CommonProps {
@@ -1,13 +1,10 @@
1
1
  import { ChangeEvent, Ref } from 'react';
2
2
  import { CommonProps } from '../CommonProps';
3
- export type SwitchColor = 'default' | 'primary' | 'secondary';
4
3
  export type SwitchSize = 'medium' | 'small';
5
4
  export type SwitchLabelPlacement = 'bottom' | 'end' | 'start' | 'top';
6
5
  export interface SwitchProps extends CommonProps {
7
6
  /** determines the default state of the switch */
8
7
  checked?: boolean;
9
- /** DEPRECATED: this will be removed in an upcoming release */
10
- color?: SwitchColor;
11
8
  /** if true makes the switch disabled */
12
9
  disabled?: boolean;
13
10
  /** id to identify the element */
@@ -23,4 +20,4 @@ export interface SwitchProps extends CommonProps {
23
20
  /** controls the size of the switch 'medium', 'small' */
24
21
  size?: SwitchSize;
25
22
  }
26
- export declare const DotSwitch: ({ ariaLabel, checked, className, color, "data-pendoid": dataPendoId, "data-testid": dataTestId, disabled, id, inputRef, label, labelPlacement, onChange, size, }: SwitchProps) => import("react/jsx-runtime").JSX.Element;
23
+ export declare const DotSwitch: ({ ariaLabel, checked, className, "data-pendoid": dataPendoId, "data-testid": dataTestId, disabled, id, inputRef, label, labelPlacement, onChange, size, }: SwitchProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,2 @@
1
- export type { SwitchProps, SwitchColor, SwitchSize, SwitchLabelPlacement, } from './Switch';
1
+ export type { SwitchProps, SwitchSize, SwitchLabelPlacement } from './Switch';
2
2
  export { DotSwitch } from './Switch';
@@ -1,5 +1,4 @@
1
1
  import { CommonProps } from '../CommonProps';
2
- export type TabsColor = 'primary' | 'secondary';
3
2
  export type TabsScrollButtons = 'auto' | boolean;
4
3
  export type TabsVariant = 'fullWidth' | 'scrollable' | 'standard';
5
4
  export interface TabProps extends CommonProps {
@@ -15,8 +14,6 @@ export interface TabProps extends CommonProps {
15
14
  export interface TabsProps extends CommonProps {
16
15
  /** Center the tabs */
17
16
  centered?: boolean;
18
- /** DEPRECATED: this will be removed in an upcoming release */
19
- color?: TabsColor;
20
17
  /** The value of the initially selected tab */
21
18
  initialValue?: any;
22
19
  /** Tab change callback */
@@ -28,4 +25,4 @@ export interface TabsProps extends CommonProps {
28
25
  /** Determines additional display behavior of the tabs */
29
26
  variant?: TabsVariant;
30
27
  }
31
- export declare const DotTabs: ({ centered, className, color, "data-pendoid": dataPendoId, "data-testid": dataTestId, initialValue, onChange, scrollButtons, tabs, variant, }: TabsProps) => import("react/jsx-runtime").JSX.Element;
28
+ export declare const DotTabs: ({ centered, className, "data-pendoid": dataPendoId, "data-testid": dataTestId, initialValue, onChange, scrollButtons, tabs, variant, }: TabsProps) => import("react/jsx-runtime").JSX.Element;
@@ -12,11 +12,9 @@ export interface TypographyProps extends CommonProps {
12
12
  component?: ElementType;
13
13
  /** If true, applies the shimmer styles. */
14
14
  hasShimmer?: boolean;
15
- /** DEPRECATED: If true, the typography will not have a bottom margin set */
16
- noMarginBottom?: boolean;
17
15
  /** If true, the text will wrap and not be truncated */
18
16
  noWrap?: boolean;
19
17
  /** Applies the theme typography styles. */
20
18
  variant?: TypographyVariant;
21
19
  }
22
- export declare const DotTypography: ({ ai, ariaLabel, ariaLevel, ariaRole, className, "data-testid": dataTestId, children, component, hasShimmer, noMarginBottom, noWrap, variant, }: TypographyProps) => import("react/jsx-runtime").JSX.Element;
20
+ export declare const DotTypography: ({ ai, ariaLabel, ariaLevel, ariaRole, className, "data-testid": dataTestId, children, component, hasShimmer, noWrap, variant, }: TypographyProps) => import("react/jsx-runtime").JSX.Element;