@uniformdev/design-system 18.31.0 → 18.31.1-alpha.22

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/esm/index.js CHANGED
@@ -306,6 +306,20 @@ var buttonSecondaryInvert = css`
306
306
 
307
307
  ${buttonRippleEffect({ hoverColor: "var(--gray-50)" })}
308
308
  `;
309
+ var buttonPrimaryInvert = css`
310
+ background: var(--white);
311
+ color: var(--brand-secondary-1);
312
+ box-shadow: 0 0 0 1px var(--brand-secondary-1);
313
+ transition: box-shadow var(--duration-fast) var(--timing-ease-out);
314
+ gap: var(--spacing-sm);
315
+
316
+ &:disabled {
317
+ color: var(--gray-300);
318
+ box-shadow: 0 0 0 1px var(--gray-300);
319
+ }
320
+
321
+ ${buttonRippleEffect({ hoverColor: "var(--gray-50)" })}
322
+ `;
309
323
  var buttonUnimportant = css`
310
324
  background: var(--brand-secondary-2);
311
325
  color: var(--brand-secondary-1);
@@ -1401,18 +1415,104 @@ var Heading = ({
1401
1415
  // src/components/Badges/Badge.styles.ts
1402
1416
  import { css as css10 } from "@emotion/react";
1403
1417
  var BadgeContainer = css10`
1404
- background: var(--brand-secondary-2);
1418
+ --caution-desc: rgb(161, 98, 7);
1419
+ --caution-title: rgb(133, 77, 14);
1420
+ --caution-container: rgb(254, 252, 232);
1421
+
1422
+ --danger-desc: rgb(185, 28, 28);
1423
+ --danger-title: rgb(153, 27, 27);
1424
+ --danger-container: rgb(254, 242, 242);
1425
+
1426
+ --info-desc: rgb(29, 78, 216);
1427
+ --info-title: rgb(30, 64, 175);
1428
+ --info-container: rgb(239, 246, 255);
1429
+
1430
+ --note-desc: var(--gray-700);
1431
+ --note-title: var(--gray-800);
1432
+ --note-container: var(--gray-50);
1433
+
1434
+ --success-desc: rgb(21, 128, 61);
1435
+ --success-title: rgb(22, 101, 52);
1436
+ --success-container: rgb(240, 253, 250);
1437
+
1405
1438
  border-radius: var(--rounded-base);
1406
- color: var(--brand-secondary-1);
1407
1439
  display: inline-block;
1440
+ `;
1441
+ var ExtraSmall = css10`
1442
+ padding: var(--spacing-xs) var(--spacing-sm);
1443
+ font-size: var(--fs-xxs);
1444
+ `;
1445
+ var Small = css10`
1446
+ padding: var(--spacing-xs) var(--spacing-sm);
1447
+ font-size: var(--fs-xs);
1448
+ `;
1449
+ var Base = css10`
1408
1450
  padding: var(--spacing-sm) var(--spacing-base);
1409
1451
  font-size: var(--fs-sm);
1410
1452
  `;
1453
+ var Caution = css10`
1454
+ background-color: var(--caution-container);
1455
+ color: var(--caution-title);
1456
+ `;
1457
+ var Info = css10`
1458
+ background-color: var(--info-container);
1459
+ color: var(--info-title);
1460
+ `;
1461
+ var Note = css10`
1462
+ background-color: var(--note-container);
1463
+ color: var(--note-title);
1464
+ `;
1465
+ var Success = css10`
1466
+ background-color: var(--success-container);
1467
+ color: var(--success-title);
1468
+ `;
1469
+ var Error2 = css10`
1470
+ background-color: var(--danger-container);
1471
+ color: var(--danger-title);
1472
+ `;
1473
+ var Unimportant = css10`
1474
+ background: var(--brand-secondary-2);
1475
+ color: var(--brand-secondary-1);
1476
+ `;
1477
+ var UppercaseText = css10`
1478
+ text-transform: uppercase;
1479
+ `;
1411
1480
 
1412
1481
  // src/components/Badges/Badge.tsx
1413
1482
  import { jsx as jsx9 } from "@emotion/react/jsx-runtime";
1414
- var Badge = ({ text }) => {
1415
- return /* @__PURE__ */ jsx9("span", { css: BadgeContainer, children: text });
1483
+ var Badge = ({
1484
+ text,
1485
+ theme = "unimportant",
1486
+ size = "base",
1487
+ uppercaseText,
1488
+ ...props
1489
+ }) => {
1490
+ const themeStyles = {
1491
+ caution: Caution,
1492
+ error: Error2,
1493
+ info: Info,
1494
+ note: Note,
1495
+ success: Success,
1496
+ unimportant: Unimportant
1497
+ };
1498
+ const sizeStyles = {
1499
+ xs: ExtraSmall,
1500
+ sm: Small,
1501
+ base: Base
1502
+ };
1503
+ return /* @__PURE__ */ jsx9(
1504
+ "span",
1505
+ {
1506
+ css: [
1507
+ BadgeContainer,
1508
+ themeStyles[theme],
1509
+ sizeStyles[size],
1510
+ uppercaseText ? UppercaseText : void 0
1511
+ ],
1512
+ ...props,
1513
+ children: text
1514
+ }
1515
+ );
1416
1516
  };
1417
1517
 
1418
1518
  // src/components/Typography/Link.tsx
@@ -10391,6 +10491,7 @@ var Button = React5.forwardRef(
10391
10491
  ({ buttonType = "primary", size = "md", children, ...props }, ref) => {
10392
10492
  const buttonTheme = {
10393
10493
  primary: buttonPrimary,
10494
+ primaryInvert: buttonPrimaryInvert,
10394
10495
  secondary: buttonSecondary,
10395
10496
  secondaryInvert: buttonSecondaryInvert,
10396
10497
  ghost: buttonGhost,
@@ -12696,8 +12797,8 @@ var loadingDot = css43`
12696
12797
 
12697
12798
  // src/components/LoadingIndicator/LoadingIndicator.tsx
12698
12799
  import { jsx as jsx55, jsxs as jsxs33 } from "@emotion/react/jsx-runtime";
12699
- var LoadingIndicator = () => {
12700
- return /* @__PURE__ */ jsxs33("div", { css: loader, role: "alert", "data-test-id": "loading-indicator", children: [
12800
+ var LoadingIndicator = ({ ...props }) => {
12801
+ return /* @__PURE__ */ jsxs33("div", { role: "alert", css: loader, "data-test-id": "loading-indicator", ...props, children: [
12701
12802
  /* @__PURE__ */ jsx55("span", { css: loadingDot }),
12702
12803
  /* @__PURE__ */ jsx55("span", { css: loadingDot }),
12703
12804
  /* @__PURE__ */ jsx55("span", { css: loadingDot })
@@ -15066,6 +15167,7 @@ export {
15066
15167
  buttonGhost,
15067
15168
  buttonGhostDestructive,
15068
15169
  buttonPrimary,
15170
+ buttonPrimaryInvert,
15069
15171
  buttonRippleEffect,
15070
15172
  buttonSecondary,
15071
15173
  buttonSecondaryInvert,
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as React$1 from 'react';
2
- import React__default, { RefObject, ReactNode, HTMLAttributes, FocusEventHandler, ChangeEvent } from 'react';
2
+ import React__default, { RefObject, HTMLAttributes, ReactNode, FocusEventHandler, ChangeEvent } from 'react';
3
3
  import { GroupBase } from 'react-select';
4
4
  export { ActionMeta, FormatOptionLabelContext, FormatOptionLabelMeta, GetOptionLabel, GetOptionValue, GroupBase, GroupHeadingProps, GroupProps, MenuListProps, MenuPlacement, MultiValue, MultiValueGenericProps, MultiValueProps, MultiValueRemoveProps, OnChangeValue, OptionContext, OptionProps, Options, OptionsOrGroups } from 'react-select';
5
5
  import * as _emotion_react from '@emotion/react';
@@ -67,6 +67,7 @@ declare const buttonRippleEffect: (props: {
67
67
  declare const buttonPrimary: _emotion_react.SerializedStyles;
68
68
  declare const buttonSecondary: _emotion_react.SerializedStyles;
69
69
  declare const buttonSecondaryInvert: _emotion_react.SerializedStyles;
70
+ declare const buttonPrimaryInvert: _emotion_react.SerializedStyles;
70
71
  declare const buttonUnimportant: _emotion_react.SerializedStyles;
71
72
  declare const buttonGhost: _emotion_react.SerializedStyles;
72
73
  declare const buttonGhostDestructive: _emotion_react.SerializedStyles;
@@ -20153,15 +20154,29 @@ type AnimationFileProps = LottieComponentProps & {
20153
20154
  */
20154
20155
  declare const AnimationFile: ({ label, loop, autoplay, width, height, ...props }: AnimationFileProps) => _emotion_react_types_jsx_namespace.EmotionJSX.Element;
20155
20156
 
20157
+ type BadgeThemeProps = 'caution' | 'info' | 'note' | 'success' | 'error' | 'unimportant';
20158
+ type SizeProps = 'xs' | 'sm' | 'base';
20156
20159
  type BadgeProps = {
20157
20160
  /** sets the text of the badge */
20158
20161
  text: string;
20159
- };
20162
+ /** sets the theme of the badge
20163
+ * @default unimportant
20164
+ */
20165
+ theme?: BadgeThemeProps;
20166
+ /** sets the size of the badge
20167
+ * @default 'base'
20168
+ */
20169
+ size?: SizeProps;
20170
+ /** sets text to uppercase */
20171
+ uppercaseText?: boolean;
20172
+ } & HTMLAttributes<HTMLSpanElement>;
20173
+ type BadgeThemeStyleProps = Record<BadgeThemeProps, SerializedStyles>;
20174
+ type BadgeSizeProps = Record<SizeProps, SerializedStyles>;
20160
20175
  /**
20161
20176
  * Uniform Badge Component
20162
- * @example <Badge text="My badge" />
20177
+ * @example <Badge text="My badge" theme="success" size="base" />
20163
20178
  */
20164
- declare const Badge: ({ text }: BadgeProps) => _emotion_react_types_jsx_namespace.EmotionJSX.Element;
20179
+ declare const Badge: ({ text, theme, size, uppercaseText, ...props }: BadgeProps) => _emotion_react_types_jsx_namespace.EmotionJSX.Element;
20165
20180
 
20166
20181
  type UniformLogoProps = {
20167
20182
  /** sets a light or dark theme for the uniform badge or logo component
@@ -20184,7 +20199,7 @@ declare const UniformBadge: ({ theme, ...props }: React__default.SVGAttributes<S
20184
20199
  declare const UniformLogo: ({ theme, ...props }: UniformLogoProps & React.SVGAttributes<SVGElement>) => _emotion_react_types_jsx_namespace.EmotionJSX.Element;
20185
20200
 
20186
20201
  /** Button themes that are available to use with our brand */
20187
- type ButtonThemeProps$1 = 'primary' | 'secondary' | 'tertiary' | 'unimportant' | 'ghost' | 'ghostDestructive' | 'secondaryInvert';
20202
+ type ButtonThemeProps$1 = 'primary' | 'secondary' | 'tertiary' | 'unimportant' | 'ghost' | 'ghostDestructive' | 'primaryInvert' | 'secondaryInvert';
20188
20203
  /** Button sizes that are available to use with our brand */
20189
20204
  type ButtonSizeProps = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
20190
20205
  type ButtonProps = ButtonProps$1 & {
@@ -20925,7 +20940,7 @@ declare const ScrollableListItem: ({ buttonText, active, ...props }: ScrollableL
20925
20940
  * Loading Indicator
20926
20941
  * @example <LoadingIndicator />
20927
20942
  */
20928
- declare const LoadingIndicator: () => _emotion_react_types_jsx_namespace.EmotionJSX.Element;
20943
+ declare const LoadingIndicator: ({ ...props }: HTMLAttributes<HTMLDivElement>) => _emotion_react_types_jsx_namespace.EmotionJSX.Element;
20929
20944
 
20930
20945
  interface LoadingOverlayProps {
20931
20946
  /** sets whether to display the loading overlay components */
@@ -21786,4 +21801,4 @@ type StatusBulletProps = React$1.HTMLAttributes<HTMLSpanElement> & {
21786
21801
  };
21787
21802
  declare const StatusBullet: ({ status, hideText, size, message, ...props }: StatusBulletProps) => _emotion_react_types_jsx_namespace.EmotionJSX.Element;
21788
21803
 
21789
- export { ActionButtonsProps, AddButton, AddButtonProps, AddListButton, AddListButtonProps, AddListButtonThemeProps, AnimationFile, AnimationFileProps, ArrowPositionProps, Badge, BadgeProps, BoxHeightProps, BreakpointSize, BreakpointsMap, Button, ButtonProps, ButtonSizeProps, ButtonThemeProps$1 as ButtonThemeProps, ButtonWithMenu, ButtonWithMenuProps, Callout, CalloutProps, CalloutType, Caption, CaptionProps, Card, CardContainer, CardContainerBgColorProps, CardContainerProps, CardProps, CheckboxWithInfo, CheckboxWithInforProps, ChildFunction, ComboBoxGroupBase, ConnectToDataElementButton, ConnectToDataElementButtonProps, Container, ContainerProps, Counter, CounterProps, CreateTeamIntegrationTile, CreateTeamIntegrationTileProps, DashedBox, DashedBoxProps, Details, DetailsProps, Drawer, DrawerContextValue, DrawerItem, DrawerProps, DrawerProvider, DrawerRenderer, DrawerRendererItemProps, DrawerRendererProps, EditTeamIntegrationTile, EditTeamIntegrationTileProps, ErrorMessage, ErrorMessageProps, Fieldset, FieldsetProps, Heading, HeadingProps, HexModalBackground, Icon, IconColor, IconName, IconProps, IconType, IconsProvider, InlineAlert, InlineAlertProps, Input, InputComboBox, InputComboBoxOption, InputComboBoxProps, InputInlineSelect, InputInlineSelectOption, InputInlineSelectProps, InputKeywordSearch, InputKeywordSearchProps, InputProps, InputSelect, InputSelectProps, InputToggle, InputToggleProps, IntegrationComingSoon, IntegrationComingSoonProps, IntegrationHeaderSection, IntegrationHeaderSectionProps, IntegrationLoadingTile, IntegrationLoadingTileProps, IntegrationModalHeader, IntegrationModalHeaderProps, IntegrationModalIcon, IntegrationModalIconProps, IntegrationTile, IntegrationTileProps, JsonEditor, JsonEditorProps, Label, LabelProps, Legend, LegendProps, LevelProps, LimitsBar, LimitsBarProps, Link, LinkColorProps, LinkList, LinkListProps, LinkManagerWithRefType, LinkProps, LinkWithRef, LoadingIcon, LoadingIconProps, LoadingIndicator, LoadingOverlay, LoadingOverlayProps, Menu, MenuContext, MenuItem, MenuItemProps, MenuItemSeparator, MenuItemTextThemeProps, MenuProps, PageHeaderSection, PageHeaderSectionProps, Paragraph, ParagraphProps, ParameterDataConnectButtonProps, ParameterDataResource, ParameterDrawerHeader, ParameterDrawerHeaderProps, ParameterGroup, ParameterGroupProps, ParameterImage, ParameterImageInner, ParameterImageProps, ParameterInput, ParameterInputInner, ParameterInputProps, ParameterLabel, ParameterLabelProps, ParameterLink, ParameterLinkInner, ParameterLinkProps, ParameterMenuButton, ParameterMenuButtonProps, ParameterNameAndPublicIdInput, ParameterNameAndPublicIdInputProps, ParameterOverrideMarker, ParameterRichText, ParameterRichTextInner, ParameterRichTextProps, ParameterSelect, ParameterSelectInner, ParameterSelectProps, ParameterShell, ParameterShellContext, ParameterShellPlaceholder, ParameterShellProps, ParameterTextarea, ParameterTextareaInner, ParameterTextareaProps, ParameterToggle, ParameterToggleInner, ParameterToggleProps, Popover, PopoverProps, ProgressList, ProgressListItem, ProgressListItemProps, ProgressListProps, RegisterDrawerProps, ResolveIcon, ResolveIconProps, ScrollableItemProps, ScrollableList, ScrollableListInputItem, ScrollableListItem, ScrollableListItemProps, ScrollableListProps, ShortcutContext, ShortcutRevealer, Skeleton, SkeletonProps, StatusBullet, StatusBulletProps, StatusTypeProps, Switch, SwitchProps, TabButton, TabButtonGroup, TabButtonProps, TabContent, TabContentProps, Table, TableBody, TableBodyProps, TableCellData, TableCellDataProps, TableCellHead, TableCellHeadProps, TableFoot, TableFootProps, TableHead, TableHeadProps, TableProps, TableRow, TableRowProps, Tabs, TabsProps, TextAlignProps, Textarea, TextareaProps, Theme, ThemeProps, TileContainer, TileContainerProps, Tooltip, TooltipProps, UniformBadge, UniformLogo, UniformLogoProps, UseShortcutOptions, VerticalRhythm, VerticalRhythmProps, WarningMessage, WarningMessageProps, breakpoints, button, buttonGhost, buttonGhostDestructive, buttonPrimary, buttonRippleEffect, buttonSecondary, buttonSecondaryInvert, buttonTertiary, buttonUnimportant, extractParameterProps, fadeIn, fadeInBottom, fadeInLtr, fadeInRtl, fadeInTop, fadeOutBottom, growSubtle, input, inputError, inputSelect, isMacLike, labelText, loader as loaderAnimationData, macifyShortcut, mq, ripple, scrollbarStyles, skeletonLoading, spinner as spinnerAnimationData, supports, useBreakpoint, useCloseCurrentDrawer, useCurrentDrawerRenderer, useCurrentTab, useDrawer, useIconContext, useMenuContext, useOutsideClick, useParameterShell, useShortcut };
21804
+ export { ActionButtonsProps, AddButton, AddButtonProps, AddListButton, AddListButtonProps, AddListButtonThemeProps, AnimationFile, AnimationFileProps, ArrowPositionProps, Badge, BadgeProps, BadgeSizeProps, BadgeThemeProps, BadgeThemeStyleProps, BoxHeightProps, BreakpointSize, BreakpointsMap, Button, ButtonProps, ButtonSizeProps, ButtonThemeProps$1 as ButtonThemeProps, ButtonWithMenu, ButtonWithMenuProps, Callout, CalloutProps, CalloutType, Caption, CaptionProps, Card, CardContainer, CardContainerBgColorProps, CardContainerProps, CardProps, CheckboxWithInfo, CheckboxWithInforProps, ChildFunction, ComboBoxGroupBase, ConnectToDataElementButton, ConnectToDataElementButtonProps, Container, ContainerProps, Counter, CounterProps, CreateTeamIntegrationTile, CreateTeamIntegrationTileProps, DashedBox, DashedBoxProps, Details, DetailsProps, Drawer, DrawerContextValue, DrawerItem, DrawerProps, DrawerProvider, DrawerRenderer, DrawerRendererItemProps, DrawerRendererProps, EditTeamIntegrationTile, EditTeamIntegrationTileProps, ErrorMessage, ErrorMessageProps, Fieldset, FieldsetProps, Heading, HeadingProps, HexModalBackground, Icon, IconColor, IconName, IconProps, IconType, IconsProvider, InlineAlert, InlineAlertProps, Input, InputComboBox, InputComboBoxOption, InputComboBoxProps, InputInlineSelect, InputInlineSelectOption, InputInlineSelectProps, InputKeywordSearch, InputKeywordSearchProps, InputProps, InputSelect, InputSelectProps, InputToggle, InputToggleProps, IntegrationComingSoon, IntegrationComingSoonProps, IntegrationHeaderSection, IntegrationHeaderSectionProps, IntegrationLoadingTile, IntegrationLoadingTileProps, IntegrationModalHeader, IntegrationModalHeaderProps, IntegrationModalIcon, IntegrationModalIconProps, IntegrationTile, IntegrationTileProps, JsonEditor, JsonEditorProps, Label, LabelProps, Legend, LegendProps, LevelProps, LimitsBar, LimitsBarProps, Link, LinkColorProps, LinkList, LinkListProps, LinkManagerWithRefType, LinkProps, LinkWithRef, LoadingIcon, LoadingIconProps, LoadingIndicator, LoadingOverlay, LoadingOverlayProps, Menu, MenuContext, MenuItem, MenuItemProps, MenuItemSeparator, MenuItemTextThemeProps, MenuProps, PageHeaderSection, PageHeaderSectionProps, Paragraph, ParagraphProps, ParameterDataConnectButtonProps, ParameterDataResource, ParameterDrawerHeader, ParameterDrawerHeaderProps, ParameterGroup, ParameterGroupProps, ParameterImage, ParameterImageInner, ParameterImageProps, ParameterInput, ParameterInputInner, ParameterInputProps, ParameterLabel, ParameterLabelProps, ParameterLink, ParameterLinkInner, ParameterLinkProps, ParameterMenuButton, ParameterMenuButtonProps, ParameterNameAndPublicIdInput, ParameterNameAndPublicIdInputProps, ParameterOverrideMarker, ParameterRichText, ParameterRichTextInner, ParameterRichTextProps, ParameterSelect, ParameterSelectInner, ParameterSelectProps, ParameterShell, ParameterShellContext, ParameterShellPlaceholder, ParameterShellProps, ParameterTextarea, ParameterTextareaInner, ParameterTextareaProps, ParameterToggle, ParameterToggleInner, ParameterToggleProps, Popover, PopoverProps, ProgressList, ProgressListItem, ProgressListItemProps, ProgressListProps, RegisterDrawerProps, ResolveIcon, ResolveIconProps, ScrollableItemProps, ScrollableList, ScrollableListInputItem, ScrollableListItem, ScrollableListItemProps, ScrollableListProps, ShortcutContext, ShortcutRevealer, Skeleton, SkeletonProps, StatusBullet, StatusBulletProps, StatusTypeProps, Switch, SwitchProps, TabButton, TabButtonGroup, TabButtonProps, TabContent, TabContentProps, Table, TableBody, TableBodyProps, TableCellData, TableCellDataProps, TableCellHead, TableCellHeadProps, TableFoot, TableFootProps, TableHead, TableHeadProps, TableProps, TableRow, TableRowProps, Tabs, TabsProps, TextAlignProps, Textarea, TextareaProps, Theme, ThemeProps, TileContainer, TileContainerProps, Tooltip, TooltipProps, UniformBadge, UniformLogo, UniformLogoProps, UseShortcutOptions, VerticalRhythm, VerticalRhythmProps, WarningMessage, WarningMessageProps, breakpoints, button, buttonGhost, buttonGhostDestructive, buttonPrimary, buttonPrimaryInvert, buttonRippleEffect, buttonSecondary, buttonSecondaryInvert, buttonTertiary, buttonUnimportant, extractParameterProps, fadeIn, fadeInBottom, fadeInLtr, fadeInRtl, fadeInTop, fadeOutBottom, growSubtle, input, inputError, inputSelect, isMacLike, labelText, loader as loaderAnimationData, macifyShortcut, mq, ripple, scrollbarStyles, skeletonLoading, spinner as spinnerAnimationData, supports, useBreakpoint, useCloseCurrentDrawer, useCurrentDrawerRenderer, useCurrentTab, useDrawer, useIconContext, useMenuContext, useOutsideClick, useParameterShell, useShortcut };
package/dist/index.js CHANGED
@@ -146,6 +146,7 @@ __export(src_exports, {
146
146
  buttonGhost: () => buttonGhost,
147
147
  buttonGhostDestructive: () => buttonGhostDestructive,
148
148
  buttonPrimary: () => buttonPrimary,
149
+ buttonPrimaryInvert: () => buttonPrimaryInvert,
149
150
  buttonRippleEffect: () => buttonRippleEffect,
150
151
  buttonSecondary: () => buttonSecondary,
151
152
  buttonSecondaryInvert: () => buttonSecondaryInvert,
@@ -493,6 +494,20 @@ var buttonSecondaryInvert = import_react3.css`
493
494
 
494
495
  ${buttonRippleEffect({ hoverColor: "var(--gray-50)" })}
495
496
  `;
497
+ var buttonPrimaryInvert = import_react3.css`
498
+ background: var(--white);
499
+ color: var(--brand-secondary-1);
500
+ box-shadow: 0 0 0 1px var(--brand-secondary-1);
501
+ transition: box-shadow var(--duration-fast) var(--timing-ease-out);
502
+ gap: var(--spacing-sm);
503
+
504
+ &:disabled {
505
+ color: var(--gray-300);
506
+ box-shadow: 0 0 0 1px var(--gray-300);
507
+ }
508
+
509
+ ${buttonRippleEffect({ hoverColor: "var(--gray-50)" })}
510
+ `;
496
511
  var buttonUnimportant = import_react3.css`
497
512
  background: var(--brand-secondary-2);
498
513
  color: var(--brand-secondary-1);
@@ -1588,18 +1603,104 @@ var Heading = ({
1588
1603
  // src/components/Badges/Badge.styles.ts
1589
1604
  var import_react16 = require("@emotion/react");
1590
1605
  var BadgeContainer = import_react16.css`
1591
- background: var(--brand-secondary-2);
1606
+ --caution-desc: rgb(161, 98, 7);
1607
+ --caution-title: rgb(133, 77, 14);
1608
+ --caution-container: rgb(254, 252, 232);
1609
+
1610
+ --danger-desc: rgb(185, 28, 28);
1611
+ --danger-title: rgb(153, 27, 27);
1612
+ --danger-container: rgb(254, 242, 242);
1613
+
1614
+ --info-desc: rgb(29, 78, 216);
1615
+ --info-title: rgb(30, 64, 175);
1616
+ --info-container: rgb(239, 246, 255);
1617
+
1618
+ --note-desc: var(--gray-700);
1619
+ --note-title: var(--gray-800);
1620
+ --note-container: var(--gray-50);
1621
+
1622
+ --success-desc: rgb(21, 128, 61);
1623
+ --success-title: rgb(22, 101, 52);
1624
+ --success-container: rgb(240, 253, 250);
1625
+
1592
1626
  border-radius: var(--rounded-base);
1593
- color: var(--brand-secondary-1);
1594
1627
  display: inline-block;
1628
+ `;
1629
+ var ExtraSmall = import_react16.css`
1630
+ padding: var(--spacing-xs) var(--spacing-sm);
1631
+ font-size: var(--fs-xxs);
1632
+ `;
1633
+ var Small = import_react16.css`
1634
+ padding: var(--spacing-xs) var(--spacing-sm);
1635
+ font-size: var(--fs-xs);
1636
+ `;
1637
+ var Base = import_react16.css`
1595
1638
  padding: var(--spacing-sm) var(--spacing-base);
1596
1639
  font-size: var(--fs-sm);
1597
1640
  `;
1641
+ var Caution = import_react16.css`
1642
+ background-color: var(--caution-container);
1643
+ color: var(--caution-title);
1644
+ `;
1645
+ var Info = import_react16.css`
1646
+ background-color: var(--info-container);
1647
+ color: var(--info-title);
1648
+ `;
1649
+ var Note = import_react16.css`
1650
+ background-color: var(--note-container);
1651
+ color: var(--note-title);
1652
+ `;
1653
+ var Success = import_react16.css`
1654
+ background-color: var(--success-container);
1655
+ color: var(--success-title);
1656
+ `;
1657
+ var Error2 = import_react16.css`
1658
+ background-color: var(--danger-container);
1659
+ color: var(--danger-title);
1660
+ `;
1661
+ var Unimportant = import_react16.css`
1662
+ background: var(--brand-secondary-2);
1663
+ color: var(--brand-secondary-1);
1664
+ `;
1665
+ var UppercaseText = import_react16.css`
1666
+ text-transform: uppercase;
1667
+ `;
1598
1668
 
1599
1669
  // src/components/Badges/Badge.tsx
1600
1670
  var import_jsx_runtime8 = require("@emotion/react/jsx-runtime");
1601
- var Badge = ({ text }) => {
1602
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { css: BadgeContainer, children: text });
1671
+ var Badge = ({
1672
+ text,
1673
+ theme = "unimportant",
1674
+ size = "base",
1675
+ uppercaseText,
1676
+ ...props
1677
+ }) => {
1678
+ const themeStyles = {
1679
+ caution: Caution,
1680
+ error: Error2,
1681
+ info: Info,
1682
+ note: Note,
1683
+ success: Success,
1684
+ unimportant: Unimportant
1685
+ };
1686
+ const sizeStyles = {
1687
+ xs: ExtraSmall,
1688
+ sm: Small,
1689
+ base: Base
1690
+ };
1691
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
1692
+ "span",
1693
+ {
1694
+ css: [
1695
+ BadgeContainer,
1696
+ themeStyles[theme],
1697
+ sizeStyles[size],
1698
+ uppercaseText ? UppercaseText : void 0
1699
+ ],
1700
+ ...props,
1701
+ children: text
1702
+ }
1703
+ );
1603
1704
  };
1604
1705
 
1605
1706
  // src/components/Typography/Link.tsx
@@ -10578,6 +10679,7 @@ var Button = React5.forwardRef(
10578
10679
  ({ buttonType = "primary", size = "md", children, ...props }, ref) => {
10579
10680
  const buttonTheme = {
10580
10681
  primary: buttonPrimary,
10682
+ primaryInvert: buttonPrimaryInvert,
10581
10683
  secondary: buttonSecondary,
10582
10684
  secondaryInvert: buttonSecondaryInvert,
10583
10685
  ghost: buttonGhost,
@@ -12879,8 +12981,8 @@ var loadingDot = import_react56.css`
12879
12981
 
12880
12982
  // src/components/LoadingIndicator/LoadingIndicator.tsx
12881
12983
  var import_jsx_runtime54 = require("@emotion/react/jsx-runtime");
12882
- var LoadingIndicator = () => {
12883
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { css: loader, role: "alert", "data-test-id": "loading-indicator", children: [
12984
+ var LoadingIndicator = ({ ...props }) => {
12985
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { role: "alert", css: loader, "data-test-id": "loading-indicator", ...props, children: [
12884
12986
  /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { css: loadingDot }),
12885
12987
  /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { css: loadingDot }),
12886
12988
  /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { css: loadingDot })
@@ -15236,6 +15338,7 @@ var StatusBullet = ({
15236
15338
  buttonGhost,
15237
15339
  buttonGhostDestructive,
15238
15340
  buttonPrimary,
15341
+ buttonPrimaryInvert,
15239
15342
  buttonRippleEffect,
15240
15343
  buttonSecondary,
15241
15344
  buttonSecondaryInvert,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uniformdev/design-system",
3
- "version": "18.31.0",
3
+ "version": "18.31.1-alpha.22+342a682db",
4
4
  "description": "Uniform design system components",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "main": "./dist/index.js",
@@ -54,5 +54,5 @@
54
54
  "publishConfig": {
55
55
  "access": "public"
56
56
  },
57
- "gitHead": "b7090bc4a0971e51fc9ef8f5cb56ebf6cb3f7f3b"
57
+ "gitHead": "342a682dbc05a6b97b4d529b7604daa62f7d1066"
58
58
  }