@backstage/ui 0.14.1 → 0.15.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/CHANGELOG.md +27 -4
  2. package/dist/components/Alert/Alert.esm.js +8 -3
  3. package/dist/components/Alert/Alert.esm.js.map +1 -1
  4. package/dist/components/Alert/definition.esm.js +1 -0
  5. package/dist/components/Alert/definition.esm.js.map +1 -1
  6. package/dist/components/Box/Box.esm.js +1 -1
  7. package/dist/components/Box/Box.esm.js.map +1 -1
  8. package/dist/components/Box/definition.esm.js +3 -0
  9. package/dist/components/Box/definition.esm.js.map +1 -1
  10. package/dist/components/Button/Button.esm.js +10 -5
  11. package/dist/components/Button/Button.esm.js.map +1 -1
  12. package/dist/components/Button/Button.module.css.esm.js +2 -2
  13. package/dist/components/Button/definition.esm.js +1 -0
  14. package/dist/components/Button/definition.esm.js.map +1 -1
  15. package/dist/components/ButtonIcon/ButtonIcon.esm.js +10 -5
  16. package/dist/components/ButtonIcon/ButtonIcon.esm.js.map +1 -1
  17. package/dist/components/ButtonIcon/ButtonIcon.module.css.esm.js +2 -2
  18. package/dist/components/ButtonIcon/definition.esm.js +1 -0
  19. package/dist/components/ButtonIcon/definition.esm.js.map +1 -1
  20. package/dist/components/Card/Card.esm.js +2 -1
  21. package/dist/components/Card/Card.esm.js.map +1 -1
  22. package/dist/components/Card/definition.esm.js +4 -2
  23. package/dist/components/Card/definition.esm.js.map +1 -1
  24. package/dist/components/DateRangePicker/DateRangePicker.esm.js +60 -0
  25. package/dist/components/DateRangePicker/DateRangePicker.esm.js.map +1 -0
  26. package/dist/components/DateRangePicker/DateRangePicker.module.css.esm.js +8 -0
  27. package/dist/components/DateRangePicker/DateRangePicker.module.css.esm.js.map +1 -0
  28. package/dist/components/DateRangePicker/DateRangePickerCalendar.esm.js +24 -0
  29. package/dist/components/DateRangePicker/DateRangePickerCalendar.esm.js.map +1 -0
  30. package/dist/components/DateRangePicker/DateRangePickerGroup.esm.js +32 -0
  31. package/dist/components/DateRangePicker/DateRangePickerGroup.esm.js.map +1 -0
  32. package/dist/components/DateRangePicker/definition.esm.js +54 -0
  33. package/dist/components/DateRangePicker/definition.esm.js.map +1 -0
  34. package/dist/components/Dialog/Dialog.module.css.esm.js +2 -2
  35. package/dist/components/Flex/definition.esm.js +4 -1
  36. package/dist/components/Flex/definition.esm.js.map +1 -1
  37. package/dist/components/Grid/definition.esm.js +4 -1
  38. package/dist/components/Grid/definition.esm.js.map +1 -1
  39. package/dist/components/Table/Table.module.css.esm.js +2 -2
  40. package/dist/components/Table/components/Table.esm.js +4 -2
  41. package/dist/components/Table/components/Table.esm.js.map +1 -1
  42. package/dist/components/Table/components/TableRoot.esm.js +7 -2
  43. package/dist/components/Table/components/TableRoot.esm.js.map +1 -1
  44. package/dist/components/Table/definition.esm.js +1 -0
  45. package/dist/components/Table/definition.esm.js.map +1 -1
  46. package/dist/components/Table/hooks/useCompletePagination.esm.js +6 -6
  47. package/dist/components/Table/hooks/useCompletePagination.esm.js.map +1 -1
  48. package/dist/components/Table/hooks/useCursorPagination.esm.js +1 -1
  49. package/dist/components/Table/hooks/useCursorPagination.esm.js.map +1 -1
  50. package/dist/components/Table/hooks/useOffsetPagination.esm.js +1 -1
  51. package/dist/components/Table/hooks/useOffsetPagination.esm.js.map +1 -1
  52. package/dist/components/Table/hooks/usePageCache.esm.js +9 -9
  53. package/dist/components/Table/hooks/usePageCache.esm.js.map +1 -1
  54. package/dist/components/Table/hooks/useTable.esm.js +4 -3
  55. package/dist/components/Table/hooks/useTable.esm.js.map +1 -1
  56. package/dist/components/Tabs/TabsIndicators.esm.js +1 -0
  57. package/dist/components/Tabs/TabsIndicators.esm.js.map +1 -1
  58. package/dist/css/styles.css +72 -0
  59. package/dist/hooks/useDefinition/helpers.esm.js +2 -1
  60. package/dist/hooks/useDefinition/helpers.esm.js.map +1 -1
  61. package/dist/index.d.ts +140 -53
  62. package/dist/index.esm.js +2 -0
  63. package/dist/index.esm.js.map +1 -1
  64. package/dist/utils/utilityClassMap.esm.js +18 -0
  65. package/dist/utils/utilityClassMap.esm.js.map +1 -1
  66. package/package.json +8 -6
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import * as react from 'react';
2
- import { ReactNode, CSSProperties, HTMLAttributes, ComponentPropsWithoutRef, ReactElement, ElementType, ComponentPropsWithRef, ComponentProps } from 'react';
3
- import { DisclosureProps, DisclosureGroupProps, DisclosurePanelProps, HeadingProps, ButtonProps as ButtonProps$1, ModalOverlayProps, DialogTriggerProps as DialogTriggerProps$1, TabProps as TabProps$1, TabListProps as TabListProps$1, TabPanelProps as TabPanelProps$1, TabsProps as TabsProps$1, LinkProps as LinkProps$1, CheckboxProps as CheckboxProps$1, CheckboxGroupProps as CheckboxGroupProps$1, RadioProps as RadioProps$1, RadioGroupProps as RadioGroupProps$1, SliderProps as SliderProps$1, CellProps as CellProps$1, ColumnProps as ColumnProps$1, RowProps as RowProps$1, TableProps as TableProps$1, TableBodyProps as TableBodyProps$1, TableHeaderProps as TableHeaderProps$1, TagProps as TagProps$1, TagListProps, TagGroupProps as TagGroupProps$1, TextFieldProps as TextFieldProps$1, TooltipProps as TooltipProps$1, TooltipTriggerComponentProps, PopoverProps as PopoverProps$1, MenuProps as MenuProps$1, ListBoxProps, MenuItemProps as MenuItemProps$1, ListBoxItemProps, MenuSectionProps as MenuSectionProps$1, SeparatorProps, MenuTriggerProps as MenuTriggerProps$1, SubmenuTriggerProps as SubmenuTriggerProps$1, SearchFieldProps as SearchFieldProps$1, GridListProps, GridListItemProps, SelectProps as SelectProps$1, SwitchProps as SwitchProps$1, ToggleButtonProps as ToggleButtonProps$1, ToggleButtonGroupProps as ToggleButtonGroupProps$1 } from 'react-aria-components';
2
+ import { CSSProperties, ReactNode, HTMLAttributes, ComponentPropsWithoutRef, ReactElement, ElementType, ComponentPropsWithRef, ComponentProps } from 'react';
3
+ import { DisclosureProps, DisclosureGroupProps, DisclosurePanelProps, HeadingProps, ButtonProps as ButtonProps$1, DateRangePickerProps as DateRangePickerProps$1, ModalOverlayProps, DialogTriggerProps as DialogTriggerProps$1, TabProps as TabProps$1, TabListProps as TabListProps$1, TabPanelProps as TabPanelProps$1, TabsProps as TabsProps$1, LinkProps as LinkProps$1, CheckboxProps as CheckboxProps$1, CheckboxGroupProps as CheckboxGroupProps$1, RadioProps as RadioProps$1, RadioGroupProps as RadioGroupProps$1, SliderProps as SliderProps$1, CellProps as CellProps$1, ColumnProps as ColumnProps$1, RowProps as RowProps$1, TableProps as TableProps$1, TableBodyProps as TableBodyProps$1, TableHeaderProps as TableHeaderProps$1, TagProps as TagProps$1, TagListProps, TagGroupProps as TagGroupProps$1, TextFieldProps as TextFieldProps$1, TooltipProps as TooltipProps$1, TooltipTriggerComponentProps, PopoverProps as PopoverProps$1, MenuProps as MenuProps$1, ListBoxProps, MenuItemProps as MenuItemProps$1, ListBoxItemProps, MenuSectionProps as MenuSectionProps$1, SeparatorProps, MenuTriggerProps as MenuTriggerProps$1, SubmenuTriggerProps as SubmenuTriggerProps$1, SearchFieldProps as SearchFieldProps$1, GridListProps, GridListItemProps, SelectProps as SelectProps$1, SwitchProps as SwitchProps$1, ToggleButtonProps as ToggleButtonProps$1, ToggleButtonGroupProps as ToggleButtonGroupProps$1 } from 'react-aria-components';
4
+ import { DateValue } from '@internationalized/date';
4
5
  import * as react_jsx_runtime from 'react/jsx-runtime';
5
6
  import { NavigateOptions } from 'react-router-dom';
6
7
  import { ColumnSize, ColumnStaticSize, SortDescriptor as SortDescriptor$1 } from 'react-stately';
@@ -54,6 +55,19 @@ interface PaddingProps {
54
55
  /** @public */
55
56
  interface SpaceProps extends MarginProps, PaddingProps {
56
57
  }
58
+ /**
59
+ * Flex item properties.
60
+ *
61
+ * @public
62
+ */
63
+ interface FlexItemProps {
64
+ /** Controls the flex-grow property. Values of `true` or `false` are converted to `1` or `0` respectively. */
65
+ grow?: Responsive<number | boolean>;
66
+ /** Controls the flex-shrink property. Values of `true` or `false` are converted to `1` or `0` respectively. */
67
+ shrink?: Responsive<number | boolean>;
68
+ /** Controls the flex-basis property. */
69
+ basis?: Responsive<CSSProperties['flexBasis']>;
70
+ }
57
71
  /** @public */
58
72
  type TextVariants = 'title-large' | 'title-medium' | 'title-small' | 'title-x-small' | 'body-large' | 'body-medium' | 'body-small' | 'body-x-small';
59
73
  /** @public */
@@ -143,7 +157,7 @@ type BoxUtilityProps = {
143
157
  maxHeight?: Responsive<string>;
144
158
  };
145
159
  /** @public */
146
- interface BoxProps extends SpaceProps, BoxOwnProps, BoxUtilityProps, Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> {
160
+ interface BoxProps extends SpaceProps, FlexItemProps, BoxOwnProps, BoxUtilityProps, Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> {
147
161
  }
148
162
 
149
163
  /**
@@ -176,7 +190,7 @@ declare const BoxDefinition: {
176
190
  readonly className: {};
177
191
  readonly style: {};
178
192
  };
179
- readonly utilityProps: readonly ["m", "mb", "ml", "mr", "mt", "mx", "my", "p", "pb", "pl", "pr", "pt", "px", "py", "position", "display", "width", "minWidth", "maxWidth", "height", "minHeight", "maxHeight"];
193
+ readonly utilityProps: readonly ["m", "mb", "ml", "mr", "mt", "mx", "my", "p", "pb", "pl", "pr", "pt", "px", "py", "position", "display", "grow", "shrink", "basis", "width", "minWidth", "maxWidth", "height", "minHeight", "maxHeight"];
180
194
  };
181
195
 
182
196
  /** @public */
@@ -187,7 +201,7 @@ type GridOwnProps = {
187
201
  bg?: Responsive<ProviderBg>;
188
202
  };
189
203
  /** @public */
190
- interface GridProps extends SpaceProps, GridOwnProps, Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
204
+ interface GridProps extends SpaceProps, FlexItemProps, GridOwnProps, Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
191
205
  columns?: Responsive<Columns>;
192
206
  gap?: Responsive<Space>;
193
207
  }
@@ -232,7 +246,7 @@ declare const GridDefinition: {
232
246
  readonly className: {};
233
247
  readonly style: {};
234
248
  };
235
- readonly utilityProps: readonly ["columns", "gap", "m", "mb", "ml", "mr", "mt", "mx", "my", "p", "pb", "pl", "pr", "pt", "px", "py"];
249
+ readonly utilityProps: readonly ["columns", "gap", "m", "mb", "ml", "mr", "mt", "mx", "my", "p", "pb", "pl", "pr", "pt", "px", "py", "grow", "shrink", "basis"];
236
250
  };
237
251
  /**
238
252
  * Component definition for GridItem
@@ -265,7 +279,7 @@ type FlexOwnProps = {
265
279
  bg?: Responsive<ProviderBg>;
266
280
  };
267
281
  /** @public */
268
- interface FlexProps extends SpaceProps, FlexOwnProps, Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> {
282
+ interface FlexProps extends SpaceProps, FlexItemProps, FlexOwnProps, Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> {
269
283
  gap?: Responsive<Space>;
270
284
  align?: Responsive<'start' | 'center' | 'end' | 'baseline' | 'stretch'>;
271
285
  justify?: Responsive<'start' | 'center' | 'end' | 'between'>;
@@ -299,7 +313,7 @@ declare const FlexDefinition: {
299
313
  readonly className: {};
300
314
  readonly style: {};
301
315
  };
302
- readonly utilityProps: readonly ["m", "mb", "ml", "mr", "mt", "mx", "my", "p", "pb", "pl", "pr", "pt", "px", "py", "gap", "align", "justify", "direction"];
316
+ readonly utilityProps: readonly ["m", "mb", "ml", "mr", "mt", "mx", "my", "p", "pb", "pl", "pr", "pt", "px", "py", "gap", "align", "justify", "direction", "grow", "shrink", "basis"];
303
317
  };
304
318
 
305
319
  /** @public */
@@ -553,6 +567,8 @@ declare const AccordionGroupDefinition: {
553
567
  type AlertOwnProps = {
554
568
  status?: Responsive<'info' | 'success' | 'warning' | 'danger'>;
555
569
  icon?: boolean | ReactElement;
570
+ isPending?: boolean;
571
+ /** @deprecated Use `isPending` instead. */
556
572
  loading?: boolean;
557
573
  customActions?: ReactNode;
558
574
  title?: ReactNode;
@@ -573,7 +589,7 @@ interface AlertProps extends MarginProps, AlertOwnProps, Omit<React.ComponentPro
573
589
  *
574
590
  * @remarks
575
591
  * The Alert component supports multiple status variants (info, success, warning, danger)
576
- * and can display icons, loading states, and custom actions. It automatically handles
592
+ * and can display icons, pending states, and custom actions. It automatically handles
577
593
  * icon selection based on status when the icon prop is set to true.
578
594
  *
579
595
  * @example
@@ -594,14 +610,14 @@ interface AlertProps extends MarginProps, AlertOwnProps, Omit<React.ComponentPro
594
610
  * ```
595
611
  *
596
612
  * @example
597
- * With custom actions and loading state:
613
+ * With custom actions and pending state:
598
614
  * ```tsx
599
615
  * <Alert
600
616
  * status="success"
601
617
  * icon={true}
602
618
  * title="Operation completed"
603
619
  * description="Your changes have been saved successfully."
604
- * loading={isProcessing}
620
+ * isPending={isProcessing}
605
621
  * customActions={
606
622
  * <>
607
623
  * <Button size="small" variant="tertiary">Dismiss</Button>
@@ -638,6 +654,9 @@ declare const AlertDefinition: {
638
654
  readonly dataAttribute: true;
639
655
  readonly default: "info";
640
656
  };
657
+ readonly isPending: {
658
+ readonly dataAttribute: true;
659
+ };
641
660
  readonly loading: {
642
661
  readonly dataAttribute: true;
643
662
  };
@@ -776,6 +795,8 @@ type ButtonOwnProps = {
776
795
  destructive?: boolean;
777
796
  iconStart?: ReactElement;
778
797
  iconEnd?: ReactElement;
798
+ isPending?: boolean;
799
+ /** @deprecated Use `isPending` instead. */
779
800
  loading?: boolean;
780
801
  children?: ReactNode;
781
802
  className?: string;
@@ -810,7 +831,7 @@ interface ButtonProps extends Omit<ButtonProps$1, keyof ButtonOwnProps>, ButtonO
810
831
  * variant="primary"
811
832
  * size="medium"
812
833
  * iconStart={<IconComponent />}
813
- * loading={isSubmitting}
834
+ * isPending={isSubmitting}
814
835
  * >
815
836
  * Submit
816
837
  * </Button>
@@ -846,6 +867,9 @@ declare const ButtonDefinition: {
846
867
  readonly destructive: {
847
868
  readonly dataAttribute: true;
848
869
  };
870
+ readonly isPending: {
871
+ readonly dataAttribute: true;
872
+ };
849
873
  readonly loading: {
850
874
  readonly dataAttribute: true;
851
875
  };
@@ -860,6 +884,7 @@ declare const ButtonDefinition: {
860
884
  type CardBaseProps = {
861
885
  children?: ReactNode;
862
886
  className?: string;
887
+ style?: CSSProperties;
863
888
  };
864
889
  /** @public */
865
890
  type CardButtonVariant = {
@@ -900,13 +925,13 @@ type CardStaticVariant = {
900
925
  *
901
926
  * @public
902
927
  */
903
- type CardProps = CardBaseProps & Omit<React.HTMLAttributes<HTMLDivElement>, 'onClick'> & (CardButtonVariant | CardLinkVariant | CardStaticVariant);
928
+ type CardProps = CardBaseProps & FlexItemProps & Omit<React.HTMLAttributes<HTMLDivElement>, 'onClick'> & (CardButtonVariant | CardLinkVariant | CardStaticVariant);
904
929
  /**
905
930
  * Flat own-props shape used by the component definition system.
906
931
  * Derived from the Card variant types so it automatically stays in sync with CardProps.
907
932
  * @public
908
933
  */
909
- type CardOwnProps = Pick<CardBaseProps & (CardButtonVariant | CardLinkVariant | CardStaticVariant), 'children' | 'className' | 'onPress' | 'href' | 'label' | 'target' | 'rel' | 'download'>;
934
+ type CardOwnProps = Pick<CardBaseProps & (CardButtonVariant | CardLinkVariant | CardStaticVariant), 'children' | 'className' | 'onPress' | 'href' | 'label' | 'target' | 'rel' | 'download' | 'style'>;
910
935
  /** @public */
911
936
  type CardHeaderOwnProps = {
912
937
  children?: ReactNode;
@@ -990,7 +1015,9 @@ declare const CardDefinition: {
990
1015
  readonly target: {};
991
1016
  readonly rel: {};
992
1017
  readonly download: {};
1018
+ readonly style: {};
993
1019
  };
1020
+ readonly utilityProps: readonly ["grow", "shrink", "basis"];
994
1021
  };
995
1022
  /**
996
1023
  * Component definition for CardHeader
@@ -1041,6 +1068,90 @@ declare const CardFooterDefinition: {
1041
1068
  };
1042
1069
  };
1043
1070
 
1071
+ /** @public */
1072
+ type FieldLabelOwnProps = {
1073
+ /**
1074
+ * The label of the text field
1075
+ */
1076
+ label?: string | null;
1077
+ /**
1078
+ * The secondary label of the text field
1079
+ */
1080
+ secondaryLabel?: string | null;
1081
+ /**
1082
+ * The description of the text field
1083
+ */
1084
+ description?: string | null;
1085
+ /**
1086
+ * The HTML for attribute of the text field
1087
+ */
1088
+ htmlFor?: string;
1089
+ /**
1090
+ * The id of the text field
1091
+ */
1092
+ id?: string;
1093
+ /**
1094
+ * The id to apply to the description element for aria-describedby
1095
+ */
1096
+ descriptionId?: string;
1097
+ /**
1098
+ * The slot name to set on the description's React Aria `<Text>` element.
1099
+ */
1100
+ descriptionSlot?: string;
1101
+ className?: string;
1102
+ };
1103
+ /** @public */
1104
+ interface FieldLabelProps extends FieldLabelOwnProps, Omit<React.ComponentPropsWithoutRef<'div'>, keyof FieldLabelOwnProps> {
1105
+ }
1106
+
1107
+ /** @public */
1108
+ type DateRangePickerOwnProps = {
1109
+ /**
1110
+ * The size of the date range picker
1111
+ * @defaultValue 'small'
1112
+ */
1113
+ size?: 'small' | 'medium' | Partial<Record<Breakpoint, 'small' | 'medium'>>;
1114
+ className?: string;
1115
+ label?: FieldLabelProps['label'];
1116
+ description?: FieldLabelProps['description'];
1117
+ secondaryLabel?: FieldLabelProps['secondaryLabel'];
1118
+ };
1119
+ /** @public */
1120
+ interface DateRangePickerProps extends Omit<DateRangePickerProps$1<DateValue>, 'className' | 'children'>, DateRangePickerOwnProps {
1121
+ }
1122
+
1123
+ /**
1124
+ * A date range picker that combines two date fields and a calendar popover,
1125
+ * allowing users to enter or select a date range with full keyboard and
1126
+ * screen reader accessibility.
1127
+ *
1128
+ * @public
1129
+ */
1130
+ declare const DateRangePicker: react.ForwardRefExoticComponent<DateRangePickerProps & react.RefAttributes<HTMLDivElement>>;
1131
+
1132
+ /**
1133
+ * Component definition for DateRangePicker
1134
+ * @public
1135
+ */
1136
+ declare const DateRangePickerDefinition: {
1137
+ readonly styles: {
1138
+ readonly [key: string]: string;
1139
+ };
1140
+ readonly classNames: {
1141
+ readonly root: "bui-DateRangePicker";
1142
+ };
1143
+ readonly propDefs: {
1144
+ readonly size: {
1145
+ readonly dataAttribute: true;
1146
+ readonly default: "small";
1147
+ };
1148
+ readonly className: {};
1149
+ readonly label: {};
1150
+ readonly description: {};
1151
+ readonly secondaryLabel: {};
1152
+ };
1153
+ };
1154
+
1044
1155
  /**
1045
1156
  * Props for the DialogTrigger component.
1046
1157
  * @public
@@ -1198,42 +1309,6 @@ declare const DialogFooterDefinition: {
1198
1309
  };
1199
1310
  };
1200
1311
 
1201
- /** @public */
1202
- type FieldLabelOwnProps = {
1203
- /**
1204
- * The label of the text field
1205
- */
1206
- label?: string | null;
1207
- /**
1208
- * The secondary label of the text field
1209
- */
1210
- secondaryLabel?: string | null;
1211
- /**
1212
- * The description of the text field
1213
- */
1214
- description?: string | null;
1215
- /**
1216
- * The HTML for attribute of the text field
1217
- */
1218
- htmlFor?: string;
1219
- /**
1220
- * The id of the text field
1221
- */
1222
- id?: string;
1223
- /**
1224
- * The id to apply to the description element for aria-describedby
1225
- */
1226
- descriptionId?: string;
1227
- /**
1228
- * The slot name to set on the description's React Aria `<Text>` element.
1229
- */
1230
- descriptionSlot?: string;
1231
- className?: string;
1232
- };
1233
- /** @public */
1234
- interface FieldLabelProps extends FieldLabelOwnProps, Omit<React.ComponentPropsWithoutRef<'div'>, keyof FieldLabelOwnProps> {
1235
- }
1236
-
1237
1312
  /**
1238
1313
  * Renders a label for a form field with optional secondary label and description text.
1239
1314
  *
@@ -1655,6 +1730,8 @@ type ButtonIconOwnProps = {
1655
1730
  size?: Responsive<'small' | 'medium'>;
1656
1731
  variant?: Responsive<'primary' | 'secondary' | 'tertiary'>;
1657
1732
  icon?: ReactElement;
1733
+ isPending?: boolean;
1734
+ /** @deprecated Use `isPending` instead. */
1658
1735
  loading?: boolean;
1659
1736
  className?: string;
1660
1737
  };
@@ -1696,6 +1773,9 @@ declare const ButtonIconDefinition: {
1696
1773
  readonly dataAttribute: true;
1697
1774
  readonly default: "primary";
1698
1775
  };
1776
+ readonly isPending: {
1777
+ readonly dataAttribute: true;
1778
+ };
1699
1779
  readonly loading: {
1700
1780
  readonly dataAttribute: true;
1701
1781
  };
@@ -2044,6 +2124,8 @@ interface SortState {
2044
2124
  /** @public */
2045
2125
  type TableRootOwnProps = {
2046
2126
  stale?: boolean;
2127
+ isPending?: boolean;
2128
+ /** @deprecated Use `isPending` instead. */
2047
2129
  loading?: boolean;
2048
2130
  };
2049
2131
  /** @public */
@@ -2233,6 +2315,8 @@ type VirtualizedProp = boolean | {
2233
2315
  interface TableProps<T extends TableItem> {
2234
2316
  columnConfig: readonly ColumnConfig<T>[];
2235
2317
  data: T[] | undefined;
2318
+ isPending?: boolean;
2319
+ /** @deprecated Use `isPending` instead. */
2236
2320
  loading?: boolean;
2237
2321
  isStale?: boolean;
2238
2322
  error?: Error;
@@ -2252,7 +2336,7 @@ interface TableProps<T extends TableItem> {
2252
2336
  *
2253
2337
  * @public
2254
2338
  */
2255
- declare function Table<T extends TableItem>({ columnConfig, data, loading, isStale, error, pagination, sort, rowConfig, selection, emptyState, className, style, virtualized, }: TableProps<T>): react_jsx_runtime.JSX.Element;
2339
+ declare function Table<T extends TableItem>({ columnConfig, data, isPending, loading, isStale, error, pagination, sort, rowConfig, selection, emptyState, className, style, virtualized, }: TableProps<T>): react_jsx_runtime.JSX.Element;
2256
2340
 
2257
2341
  /**
2258
2342
  * The low-level table root element for building custom table layouts from atomic components.
@@ -2456,6 +2540,9 @@ declare const TableDefinition: {
2456
2540
  readonly stale: {
2457
2541
  readonly dataAttribute: true;
2458
2542
  };
2543
+ readonly isPending: {
2544
+ readonly dataAttribute: true;
2545
+ };
2459
2546
  readonly loading: {
2460
2547
  readonly dataAttribute: true;
2461
2548
  };
@@ -3771,5 +3858,5 @@ declare function useAnalytics(): AnalyticsTracker;
3771
3858
  */
3772
3859
  declare function getNodeText(node: ReactNode | ((...args: any[]) => ReactNode)): string | undefined;
3773
3860
 
3774
- export { Accordion, AccordionDefinition, AccordionGroup, AccordionGroupDefinition, AccordionPanel, AccordionPanelDefinition, AccordionTrigger, AccordionTriggerDefinition, Alert, AlertDefinition, Avatar, AvatarDefinition, BUIProvider, Badge, BadgeDefinition, BgProvider, Box, BoxDefinition, Button, ButtonDefinition, ButtonIcon, ButtonIconDefinition, ButtonLink, ButtonLinkDefinition, Card, CardBody, CardBodyDefinition, CardDefinition, CardFooter, CardFooterDefinition, CardHeader, CardHeaderDefinition, Cell, CellProfile, CellText, Checkbox, CheckboxDefinition, CheckboxGroup, CheckboxGroupDefinition, Column, Container, ContainerDefinition, Dialog, DialogBody, DialogBodyDefinition, DialogDefinition, DialogFooter, DialogFooterDefinition, DialogHeader, DialogHeaderDefinition, DialogTrigger, FieldLabel, FieldLabelDefinition, Flex, FlexDefinition, FullPage, FullPageDefinition, Grid, GridDefinition, GridItemDefinition, Header, HeaderDefinition, HeaderNavDefinition, HeaderNavGroupDefinition, HeaderNavItemDefinition, HeaderPage, HeaderPageDefinition, Link, LinkDefinition, List, ListDefinition, ListRow, ListRowDefinition, Menu, MenuAutocomplete, MenuAutocompleteListbox, MenuDefinition, MenuItem, MenuListBox, MenuListBoxItem, MenuSection, MenuSeparator, MenuTrigger, PasswordField, PasswordFieldDefinition, PluginHeader, PluginHeaderDefinition, Popover, PopoverDefinition, Radio, RadioDefinition, RadioGroup, RadioGroupDefinition, Row, SearchAutocomplete, SearchAutocompleteDefinition, SearchAutocompleteItem, SearchField, SearchFieldDefinition, Select, SelectDefinition, Skeleton, SkeletonDefinition, Slider, SliderDefinition, SubmenuTrigger, Switch, SwitchDefinition, Tab, TabList, TabPanel, Table, TableBody, TableBodySkeleton, TableDefinition, TableHeader, TablePagination, TablePaginationDefinition, TableRoot, Tabs, TabsDefinition, Tag, TagGroup, TagGroupDefinition, Text, TextDefinition, TextField, TextFieldDefinition, ToggleButton, ToggleButtonDefinition, ToggleButtonGroup, ToggleButtonGroupDefinition, Tooltip, TooltipDefinition, TooltipTrigger, VisuallyHidden, VisuallyHiddenDefinition, getNodeText, useAnalytics, useBgConsumer, useBgProvider, useBreakpoint, useTable };
3775
- export type { AccordionGroupOwnProps, AccordionGroupProps, AccordionOwnProps, AccordionPanelOwnProps, AccordionPanelProps, AccordionProps, AccordionTriggerOwnProps, AccordionTriggerProps, AlertOwnProps, AlertProps, AlignItems, AnalyticsEventAttributes, AnalyticsTracker, AvatarOwnProps, AvatarProps, BUIProviderProps, BadgeOwnProps, BadgeProps, BgContextValue, BgProviderProps, Border, BorderRadius, BoxOwnProps, BoxProps, BoxUtilityProps, Breakpoint, ButtonIconOwnProps, ButtonIconProps, ButtonLinkOwnProps, ButtonLinkProps, ButtonOwnProps, ButtonProps, CardBaseProps, CardBodyOwnProps, CardBodyProps, CardButtonVariant, CardFooterOwnProps, CardFooterProps, CardHeaderOwnProps, CardHeaderProps, CardLinkVariant, CardOwnProps, CardProps, CardStaticVariant, CellOwnProps, CellProfileOwnProps, CellProfileProps, CellProps, CellTextOwnProps, CellTextProps, CheckboxGroupOwnProps, CheckboxGroupProps, CheckboxOwnProps, CheckboxProps, ColumnConfig, ColumnOwnProps, ColumnProps, Columns, CompletePaginationOptions, ContainerBg, ContainerOwnProps, ContainerProps, CursorParams, CursorResponse, DialogBodyOwnProps, DialogBodyProps, DialogFooterOwnProps, DialogFooterProps, DialogHeaderOwnProps, DialogHeaderProps, DialogOwnProps, DialogProps, DialogTriggerProps, Display, FieldLabelOwnProps, FieldLabelProps, FilterState, FlexDirection, FlexOwnProps, FlexProps, FlexWrap, FullPageOwnProps, FullPageProps, GridItemOwnProps, GridItemProps, GridOwnProps, GridProps, HeaderBreadcrumb, HeaderNavTab, HeaderNavTabGroup, HeaderNavTabItem, HeaderOwnProps, HeaderPageBreadcrumb, HeaderPageOwnProps, HeaderPageProps, HeaderProps, HeaderTab, JustifyContent, LinkOwnProps, LinkProps, ListOwnProps, ListProps, ListRowOwnProps, ListRowProps, MarginProps, MenuAutocompleteListBoxOwnProps, MenuAutocompleteListBoxProps, MenuAutocompleteOwnProps, MenuAutocompleteProps, MenuItemOwnProps, MenuItemProps, MenuListBoxItemOwnProps, MenuListBoxItemProps, MenuListBoxOwnProps, MenuListBoxProps, MenuOwnProps, MenuPopoverOwnProps, MenuProps, MenuSectionOwnProps, MenuSectionProps, MenuSeparatorOwnProps, MenuSeparatorProps, MenuTriggerProps, NoPagination, OffsetParams, OffsetResponse, Option, PaddingProps, PagePagination, PageSizeOption, PaginationOptions, PasswordFieldOwnProps, PasswordFieldProps, PluginHeaderOwnProps, PluginHeaderProps, PopoverOwnProps, PopoverProps, ProviderBg, QueryOptions, RadioGroupOwnProps, RadioGroupProps, RadioOwnProps, RadioProps, Responsive, RowConfig, RowOwnProps, RowProps, RowRenderFn, SearchAutocompleteItemOwnProps, SearchAutocompleteItemProps, SearchAutocompleteOwnProps, SearchAutocompleteProps, SearchFieldOwnProps, SearchFieldProps, SearchState, SelectOwnProps, SelectProps, SkeletonOwnProps, SkeletonProps, SliderOwnProps, SliderProps, SortDescriptor, SortState, Space, SpaceProps, SubmenuTriggerProps, SwitchOwnProps, SwitchProps, TabListOwnProps, TabListProps, TabMatchStrategy, TabOwnProps, TabPanelOwnProps, TabPanelProps, TabProps, TableBodyOwnProps, TableBodyProps, TableHeaderOwnProps, TableHeaderProps, TableItem, TablePaginationOwnProps, TablePaginationProps, TablePaginationType, TableProps, TableRootOwnProps, TableRootProps, TableSelection, TabsOwnProps, TabsProps, TagGroupOwnProps, TagGroupProps, TagOwnProps, TagProps, TextColorStatus, TextColors, TextFieldOwnProps, TextFieldProps, TextOwnProps, TextProps, TextVariants, TextWeights, ToggleButtonGroupOwnProps, ToggleButtonGroupProps, ToggleButtonOwnProps, ToggleButtonProps, TooltipOwnProps, TooltipProps, UseAnalyticsFn, UseTableCompleteOptions, UseTableCursorOptions, UseTableOffsetOptions, UseTableOptions, UseTableResult, UtilityProps, VirtualizedProp, VisuallyHiddenOwnProps, VisuallyHiddenProps };
3861
+ export { Accordion, AccordionDefinition, AccordionGroup, AccordionGroupDefinition, AccordionPanel, AccordionPanelDefinition, AccordionTrigger, AccordionTriggerDefinition, Alert, AlertDefinition, Avatar, AvatarDefinition, BUIProvider, Badge, BadgeDefinition, BgProvider, Box, BoxDefinition, Button, ButtonDefinition, ButtonIcon, ButtonIconDefinition, ButtonLink, ButtonLinkDefinition, Card, CardBody, CardBodyDefinition, CardDefinition, CardFooter, CardFooterDefinition, CardHeader, CardHeaderDefinition, Cell, CellProfile, CellText, Checkbox, CheckboxDefinition, CheckboxGroup, CheckboxGroupDefinition, Column, Container, ContainerDefinition, DateRangePicker, DateRangePickerDefinition, Dialog, DialogBody, DialogBodyDefinition, DialogDefinition, DialogFooter, DialogFooterDefinition, DialogHeader, DialogHeaderDefinition, DialogTrigger, FieldLabel, FieldLabelDefinition, Flex, FlexDefinition, FullPage, FullPageDefinition, Grid, GridDefinition, GridItemDefinition, Header, HeaderDefinition, HeaderNavDefinition, HeaderNavGroupDefinition, HeaderNavItemDefinition, HeaderPage, HeaderPageDefinition, Link, LinkDefinition, List, ListDefinition, ListRow, ListRowDefinition, Menu, MenuAutocomplete, MenuAutocompleteListbox, MenuDefinition, MenuItem, MenuListBox, MenuListBoxItem, MenuSection, MenuSeparator, MenuTrigger, PasswordField, PasswordFieldDefinition, PluginHeader, PluginHeaderDefinition, Popover, PopoverDefinition, Radio, RadioDefinition, RadioGroup, RadioGroupDefinition, Row, SearchAutocomplete, SearchAutocompleteDefinition, SearchAutocompleteItem, SearchField, SearchFieldDefinition, Select, SelectDefinition, Skeleton, SkeletonDefinition, Slider, SliderDefinition, SubmenuTrigger, Switch, SwitchDefinition, Tab, TabList, TabPanel, Table, TableBody, TableBodySkeleton, TableDefinition, TableHeader, TablePagination, TablePaginationDefinition, TableRoot, Tabs, TabsDefinition, Tag, TagGroup, TagGroupDefinition, Text, TextDefinition, TextField, TextFieldDefinition, ToggleButton, ToggleButtonDefinition, ToggleButtonGroup, ToggleButtonGroupDefinition, Tooltip, TooltipDefinition, TooltipTrigger, VisuallyHidden, VisuallyHiddenDefinition, getNodeText, useAnalytics, useBgConsumer, useBgProvider, useBreakpoint, useTable };
3862
+ export type { AccordionGroupOwnProps, AccordionGroupProps, AccordionOwnProps, AccordionPanelOwnProps, AccordionPanelProps, AccordionProps, AccordionTriggerOwnProps, AccordionTriggerProps, AlertOwnProps, AlertProps, AlignItems, AnalyticsEventAttributes, AnalyticsTracker, AvatarOwnProps, AvatarProps, BUIProviderProps, BadgeOwnProps, BadgeProps, BgContextValue, BgProviderProps, Border, BorderRadius, BoxOwnProps, BoxProps, BoxUtilityProps, Breakpoint, ButtonIconOwnProps, ButtonIconProps, ButtonLinkOwnProps, ButtonLinkProps, ButtonOwnProps, ButtonProps, CardBaseProps, CardBodyOwnProps, CardBodyProps, CardButtonVariant, CardFooterOwnProps, CardFooterProps, CardHeaderOwnProps, CardHeaderProps, CardLinkVariant, CardOwnProps, CardProps, CardStaticVariant, CellOwnProps, CellProfileOwnProps, CellProfileProps, CellProps, CellTextOwnProps, CellTextProps, CheckboxGroupOwnProps, CheckboxGroupProps, CheckboxOwnProps, CheckboxProps, ColumnConfig, ColumnOwnProps, ColumnProps, Columns, CompletePaginationOptions, ContainerBg, ContainerOwnProps, ContainerProps, CursorParams, CursorResponse, DateRangePickerOwnProps, DateRangePickerProps, DialogBodyOwnProps, DialogBodyProps, DialogFooterOwnProps, DialogFooterProps, DialogHeaderOwnProps, DialogHeaderProps, DialogOwnProps, DialogProps, DialogTriggerProps, Display, FieldLabelOwnProps, FieldLabelProps, FilterState, FlexDirection, FlexItemProps, FlexOwnProps, FlexProps, FlexWrap, FullPageOwnProps, FullPageProps, GridItemOwnProps, GridItemProps, GridOwnProps, GridProps, HeaderBreadcrumb, HeaderNavTab, HeaderNavTabGroup, HeaderNavTabItem, HeaderOwnProps, HeaderPageBreadcrumb, HeaderPageOwnProps, HeaderPageProps, HeaderProps, HeaderTab, JustifyContent, LinkOwnProps, LinkProps, ListOwnProps, ListProps, ListRowOwnProps, ListRowProps, MarginProps, MenuAutocompleteListBoxOwnProps, MenuAutocompleteListBoxProps, MenuAutocompleteOwnProps, MenuAutocompleteProps, MenuItemOwnProps, MenuItemProps, MenuListBoxItemOwnProps, MenuListBoxItemProps, MenuListBoxOwnProps, MenuListBoxProps, MenuOwnProps, MenuPopoverOwnProps, MenuProps, MenuSectionOwnProps, MenuSectionProps, MenuSeparatorOwnProps, MenuSeparatorProps, MenuTriggerProps, NoPagination, OffsetParams, OffsetResponse, Option, PaddingProps, PagePagination, PageSizeOption, PaginationOptions, PasswordFieldOwnProps, PasswordFieldProps, PluginHeaderOwnProps, PluginHeaderProps, PopoverOwnProps, PopoverProps, ProviderBg, QueryOptions, RadioGroupOwnProps, RadioGroupProps, RadioOwnProps, RadioProps, Responsive, RowConfig, RowOwnProps, RowProps, RowRenderFn, SearchAutocompleteItemOwnProps, SearchAutocompleteItemProps, SearchAutocompleteOwnProps, SearchAutocompleteProps, SearchFieldOwnProps, SearchFieldProps, SearchState, SelectOwnProps, SelectProps, SkeletonOwnProps, SkeletonProps, SliderOwnProps, SliderProps, SortDescriptor, SortState, Space, SpaceProps, SubmenuTriggerProps, SwitchOwnProps, SwitchProps, TabListOwnProps, TabListProps, TabMatchStrategy, TabOwnProps, TabPanelOwnProps, TabPanelProps, TabProps, TableBodyOwnProps, TableBodyProps, TableHeaderOwnProps, TableHeaderProps, TableItem, TablePaginationOwnProps, TablePaginationProps, TablePaginationType, TableProps, TableRootOwnProps, TableRootProps, TableSelection, TabsOwnProps, TabsProps, TagGroupOwnProps, TagGroupProps, TagOwnProps, TagProps, TextColorStatus, TextColors, TextFieldOwnProps, TextFieldProps, TextOwnProps, TextProps, TextVariants, TextWeights, ToggleButtonGroupOwnProps, ToggleButtonGroupProps, ToggleButtonOwnProps, ToggleButtonProps, TooltipOwnProps, TooltipProps, UseAnalyticsFn, UseTableCompleteOptions, UseTableCursorOptions, UseTableOffsetOptions, UseTableOptions, UseTableResult, UtilityProps, VirtualizedProp, VisuallyHiddenOwnProps, VisuallyHiddenProps };
package/dist/index.esm.js CHANGED
@@ -20,6 +20,8 @@ export { Button } from './components/Button/Button.esm.js';
20
20
  export { ButtonDefinition } from './components/Button/definition.esm.js';
21
21
  export { Card, CardBody, CardFooter, CardHeader } from './components/Card/Card.esm.js';
22
22
  export { CardBodyDefinition, CardDefinition, CardFooterDefinition, CardHeaderDefinition } from './components/Card/definition.esm.js';
23
+ export { DateRangePicker } from './components/DateRangePicker/DateRangePicker.esm.js';
24
+ export { DateRangePickerDefinition } from './components/DateRangePicker/definition.esm.js';
23
25
  export { Dialog, DialogBody, DialogFooter, DialogHeader, DialogTrigger } from './components/Dialog/Dialog.esm.js';
24
26
  export { DialogBodyDefinition, DialogDefinition, DialogFooterDefinition, DialogHeaderDefinition } from './components/Dialog/definition.esm.js';
25
27
  export { FieldLabel } from './components/FieldLabel/FieldLabel.esm.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -182,6 +182,24 @@ const utilityClassMap = {
182
182
  rowSpan: {
183
183
  class: "bui-row-span",
184
184
  values: columnsValues
185
+ },
186
+ grow: {
187
+ class: "bui-grow",
188
+ cssVar: "--grow",
189
+ values: [],
190
+ transform: (input) => typeof input === "boolean" ? Number(input) : input
191
+ },
192
+ shrink: {
193
+ class: "bui-shrink",
194
+ cssVar: "--shrink",
195
+ values: [],
196
+ transform: (input) => typeof input === "boolean" ? Number(input) : input
197
+ },
198
+ basis: {
199
+ class: "bui-basis",
200
+ cssVar: "--basis",
201
+ values: [],
202
+ transform: (input) => typeof input === "number" ? `${input}px` : input
185
203
  }
186
204
  };
187
205
 
@@ -1 +1 @@
1
- {"version":3,"file":"utilityClassMap.esm.js","sources":["../../src/utils/utilityClassMap.ts"],"sourcesContent":["/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// Valid spacing values that have predefined utility classes\nconst validSpacingValues = [\n '0.5',\n '1',\n '1.5',\n '2',\n '3',\n '4',\n '5',\n '6',\n '7',\n '8',\n '9',\n '10',\n '11',\n '12',\n '13',\n '14',\n] as const;\n\nconst columnsValues = [\n '1',\n '2',\n '3',\n '4',\n '5',\n '6',\n '7',\n '8',\n '9',\n '10',\n '11',\n '12',\n 'auto',\n] as const;\n\nexport const utilityClassMap = {\n m: {\n class: 'bui-m',\n cssVar: '--m',\n values: validSpacingValues,\n },\n mb: {\n class: 'bui-mb',\n cssVar: '--mb',\n values: validSpacingValues,\n },\n ml: {\n class: 'bui-ml',\n cssVar: '--ml',\n values: validSpacingValues,\n },\n mr: {\n class: 'bui-mr',\n cssVar: '--mr',\n values: validSpacingValues,\n },\n mt: {\n class: 'bui-mt',\n cssVar: '--mt',\n values: validSpacingValues,\n },\n mx: {\n class: 'bui-mx',\n cssVar: '--mx',\n values: validSpacingValues,\n },\n my: {\n class: 'bui-my',\n cssVar: '--my',\n values: validSpacingValues,\n },\n p: {\n class: 'bui-p',\n cssVar: '--p',\n values: validSpacingValues,\n },\n pb: {\n class: 'bui-pb',\n cssVar: '--pb',\n values: validSpacingValues,\n },\n pl: {\n class: 'bui-pl',\n cssVar: '--pl',\n values: validSpacingValues,\n },\n pr: {\n class: 'bui-pr',\n cssVar: '--pr',\n values: validSpacingValues,\n },\n pt: {\n class: 'bui-pt',\n cssVar: '--pt',\n values: validSpacingValues,\n },\n px: {\n class: 'bui-px',\n cssVar: '--px',\n values: validSpacingValues,\n },\n py: {\n class: 'bui-py',\n cssVar: '--py',\n values: validSpacingValues,\n },\n width: {\n class: 'bui-w',\n cssVar: '--width',\n values: [], // Always use custom value\n },\n minWidth: {\n class: 'bui-min-w',\n cssVar: '--min-width',\n values: [], // Always use custom value\n },\n maxWidth: {\n class: 'bui-max-w',\n cssVar: '--max-width',\n values: [], // Always use custom value\n },\n height: {\n class: 'bui-h',\n cssVar: '--height',\n values: [], // Always use custom value\n },\n minHeight: {\n class: 'bui-min-h',\n cssVar: '--min-height',\n values: [], // Always use custom value\n },\n maxHeight: {\n class: 'bui-max-h',\n cssVar: '--max-height',\n values: [], // Always use custom value\n },\n gap: {\n class: 'bui-gap',\n cssVar: '--gap',\n values: validSpacingValues,\n },\n position: {\n class: 'bui-position',\n values: ['static', 'relative', 'absolute', 'fixed', 'sticky'],\n },\n display: {\n class: 'bui-display',\n values: ['none', 'flex', 'block', 'inline'],\n },\n align: {\n class: 'bui-align',\n values: ['start', 'center', 'end', 'baseline', 'stretch'],\n },\n justify: {\n class: 'bui-jc',\n values: ['start', 'center', 'end', 'between'],\n },\n direction: {\n class: 'bui-fd',\n values: ['row', 'column', 'row-reverse', 'column-reverse'],\n },\n columns: {\n class: 'bui-columns',\n values: columnsValues,\n },\n colSpan: {\n class: 'bui-col-span',\n values: columnsValues,\n },\n colEnd: {\n class: 'bui-col-end',\n values: columnsValues,\n },\n colStart: {\n class: 'bui-col-start',\n values: columnsValues,\n },\n rowSpan: {\n class: 'bui-row-span',\n values: columnsValues,\n },\n} as const satisfies Record<\n string,\n { class: string; cssVar?: string; values: readonly (string | number)[] }\n>;\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utilityClassMap.esm.js","sources":["../../src/utils/utilityClassMap.ts"],"sourcesContent":["/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// Valid spacing values that have predefined utility classes\nconst validSpacingValues = [\n '0.5',\n '1',\n '1.5',\n '2',\n '3',\n '4',\n '5',\n '6',\n '7',\n '8',\n '9',\n '10',\n '11',\n '12',\n '13',\n '14',\n] as const;\n\nconst columnsValues = [\n '1',\n '2',\n '3',\n '4',\n '5',\n '6',\n '7',\n '8',\n '9',\n '10',\n '11',\n '12',\n 'auto',\n] as const;\n\nexport const utilityClassMap = {\n m: {\n class: 'bui-m',\n cssVar: '--m',\n values: validSpacingValues,\n },\n mb: {\n class: 'bui-mb',\n cssVar: '--mb',\n values: validSpacingValues,\n },\n ml: {\n class: 'bui-ml',\n cssVar: '--ml',\n values: validSpacingValues,\n },\n mr: {\n class: 'bui-mr',\n cssVar: '--mr',\n values: validSpacingValues,\n },\n mt: {\n class: 'bui-mt',\n cssVar: '--mt',\n values: validSpacingValues,\n },\n mx: {\n class: 'bui-mx',\n cssVar: '--mx',\n values: validSpacingValues,\n },\n my: {\n class: 'bui-my',\n cssVar: '--my',\n values: validSpacingValues,\n },\n p: {\n class: 'bui-p',\n cssVar: '--p',\n values: validSpacingValues,\n },\n pb: {\n class: 'bui-pb',\n cssVar: '--pb',\n values: validSpacingValues,\n },\n pl: {\n class: 'bui-pl',\n cssVar: '--pl',\n values: validSpacingValues,\n },\n pr: {\n class: 'bui-pr',\n cssVar: '--pr',\n values: validSpacingValues,\n },\n pt: {\n class: 'bui-pt',\n cssVar: '--pt',\n values: validSpacingValues,\n },\n px: {\n class: 'bui-px',\n cssVar: '--px',\n values: validSpacingValues,\n },\n py: {\n class: 'bui-py',\n cssVar: '--py',\n values: validSpacingValues,\n },\n width: {\n class: 'bui-w',\n cssVar: '--width',\n values: [], // Always use custom value\n },\n minWidth: {\n class: 'bui-min-w',\n cssVar: '--min-width',\n values: [], // Always use custom value\n },\n maxWidth: {\n class: 'bui-max-w',\n cssVar: '--max-width',\n values: [], // Always use custom value\n },\n height: {\n class: 'bui-h',\n cssVar: '--height',\n values: [], // Always use custom value\n },\n minHeight: {\n class: 'bui-min-h',\n cssVar: '--min-height',\n values: [], // Always use custom value\n },\n maxHeight: {\n class: 'bui-max-h',\n cssVar: '--max-height',\n values: [], // Always use custom value\n },\n gap: {\n class: 'bui-gap',\n cssVar: '--gap',\n values: validSpacingValues,\n },\n position: {\n class: 'bui-position',\n values: ['static', 'relative', 'absolute', 'fixed', 'sticky'],\n },\n display: {\n class: 'bui-display',\n values: ['none', 'flex', 'block', 'inline'],\n },\n align: {\n class: 'bui-align',\n values: ['start', 'center', 'end', 'baseline', 'stretch'],\n },\n justify: {\n class: 'bui-jc',\n values: ['start', 'center', 'end', 'between'],\n },\n direction: {\n class: 'bui-fd',\n values: ['row', 'column', 'row-reverse', 'column-reverse'],\n },\n columns: {\n class: 'bui-columns',\n values: columnsValues,\n },\n colSpan: {\n class: 'bui-col-span',\n values: columnsValues,\n },\n colEnd: {\n class: 'bui-col-end',\n values: columnsValues,\n },\n colStart: {\n class: 'bui-col-start',\n values: columnsValues,\n },\n rowSpan: {\n class: 'bui-row-span',\n values: columnsValues,\n },\n grow: {\n class: 'bui-grow',\n cssVar: '--grow',\n values: [],\n transform: input => (typeof input === 'boolean' ? Number(input) : input),\n },\n shrink: {\n class: 'bui-shrink',\n cssVar: '--shrink',\n values: [],\n transform: input => (typeof input === 'boolean' ? Number(input) : input),\n },\n basis: {\n class: 'bui-basis',\n cssVar: '--basis',\n values: [],\n transform: input => (typeof input === 'number' ? `${input}px` : input),\n },\n} as const satisfies Record<\n string,\n {\n class: string;\n cssVar?: string;\n values: readonly (string | number)[];\n transform?: (input: unknown) => unknown;\n }\n>;\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@backstage/ui",
3
- "version": "0.14.1",
3
+ "version": "0.15.0-next.0",
4
4
  "backstage": {
5
5
  "role": "web-library"
6
6
  },
@@ -50,17 +50,19 @@
50
50
  "test": "backstage-cli package test"
51
51
  },
52
52
  "dependencies": {
53
- "@backstage/version-bridge": "^1.0.12",
53
+ "@backstage/version-bridge": "1.0.12",
54
+ "@internationalized/date": "^3.12.0",
54
55
  "@remixicon/react": "^4.6.0",
55
56
  "@tanstack/react-table": "^8.21.3",
56
57
  "clsx": "^2.1.1",
57
- "react-aria": "^3.48.0",
58
- "react-aria-components": "^1.17.0",
59
- "react-stately": "^3.46.0",
58
+ "react-aria": "~3.48.0",
59
+ "react-aria-components": "~1.17.0",
60
+ "react-stately": "~3.46.0",
60
61
  "use-sync-external-store": "^1.4.0"
61
62
  },
62
63
  "devDependencies": {
63
- "@backstage/cli": "^0.36.1",
64
+ "@backstage/cli": "0.36.2-next.0",
65
+ "@storybook/react-vite": "^10.3.3",
64
66
  "@types/react": "^18.0.0",
65
67
  "@types/react-dom": "^18.0.0",
66
68
  "@types/use-sync-external-store": "^1.0.0",