@salt-ds/lab 1.0.0-alpha.30 → 1.0.0-alpha.31

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 (109) hide show
  1. package/css/salt-lab.css +101 -160
  2. package/dist-cjs/combo-box-next/ComboBoxNext.js +288 -290
  3. package/dist-cjs/combo-box-next/ComboBoxNext.js.map +1 -1
  4. package/dist-cjs/combo-box-next/useComboBoxNext.js.map +1 -1
  5. package/dist-cjs/content-status/internal/StatusIndicator.js +1 -3
  6. package/dist-cjs/content-status/internal/StatusIndicator.js.map +1 -1
  7. package/dist-cjs/dialog/Dialog.css.js +1 -1
  8. package/dist-cjs/dialog/Dialog.js +53 -48
  9. package/dist-cjs/dialog/Dialog.js.map +1 -1
  10. package/dist-cjs/dialog/DialogActions.js.map +1 -1
  11. package/dist-cjs/dialog/DialogContent.css.js +1 -1
  12. package/dist-cjs/dialog/DialogContent.js +17 -8
  13. package/dist-cjs/dialog/DialogContent.js.map +1 -1
  14. package/dist-cjs/dialog/DialogContext.js +3 -1
  15. package/dist-cjs/dialog/DialogContext.js.map +1 -1
  16. package/dist-cjs/dialog/DialogTitle.js +4 -5
  17. package/dist-cjs/dialog/DialogTitle.js.map +1 -1
  18. package/dist-cjs/dropdown-next/DropdownNext.js +303 -308
  19. package/dist-cjs/dropdown-next/DropdownNext.js.map +1 -1
  20. package/dist-cjs/index.js +0 -6
  21. package/dist-cjs/index.js.map +1 -1
  22. package/dist-cjs/list-control/ListControlContext.js.map +1 -1
  23. package/dist-cjs/list-control/ListControlState.js.map +1 -1
  24. package/dist-cjs/option/Option.js.map +1 -1
  25. package/dist-cjs/parent-child-layout/ParentChildLayout.css.js +1 -1
  26. package/dist-cjs/parent-child-layout/ParentChildLayout.js +30 -38
  27. package/dist-cjs/parent-child-layout/ParentChildLayout.js.map +1 -1
  28. package/dist-cjs/slider/Slider.css.js +1 -1
  29. package/dist-cjs/stepped-tracker/TrackerConnector/TrackerConnector.css.js +1 -1
  30. package/dist-es/combo-box-next/ComboBoxNext.js +288 -290
  31. package/dist-es/combo-box-next/ComboBoxNext.js.map +1 -1
  32. package/dist-es/combo-box-next/useComboBoxNext.js.map +1 -1
  33. package/dist-es/content-status/internal/StatusIndicator.js +1 -3
  34. package/dist-es/content-status/internal/StatusIndicator.js.map +1 -1
  35. package/dist-es/dialog/Dialog.css.js +1 -1
  36. package/dist-es/dialog/Dialog.js +55 -50
  37. package/dist-es/dialog/Dialog.js.map +1 -1
  38. package/dist-es/dialog/DialogActions.js.map +1 -1
  39. package/dist-es/dialog/DialogContent.css.js +1 -1
  40. package/dist-es/dialog/DialogContent.js +19 -10
  41. package/dist-es/dialog/DialogContent.js.map +1 -1
  42. package/dist-es/dialog/DialogContext.js +3 -1
  43. package/dist-es/dialog/DialogContext.js.map +1 -1
  44. package/dist-es/dialog/DialogTitle.js +4 -5
  45. package/dist-es/dialog/DialogTitle.js.map +1 -1
  46. package/dist-es/dropdown-next/DropdownNext.js +303 -308
  47. package/dist-es/dropdown-next/DropdownNext.js.map +1 -1
  48. package/dist-es/index.js +0 -3
  49. package/dist-es/index.js.map +1 -1
  50. package/dist-es/list-control/ListControlContext.js.map +1 -1
  51. package/dist-es/list-control/ListControlState.js.map +1 -1
  52. package/dist-es/option/Option.js.map +1 -1
  53. package/dist-es/parent-child-layout/ParentChildLayout.css.js +1 -1
  54. package/dist-es/parent-child-layout/ParentChildLayout.js +32 -40
  55. package/dist-es/parent-child-layout/ParentChildLayout.js.map +1 -1
  56. package/dist-es/slider/Slider.css.js +1 -1
  57. package/dist-es/stepped-tracker/TrackerConnector/TrackerConnector.css.js +1 -1
  58. package/dist-types/combo-box-next/ComboBoxNext.d.ts +5 -3
  59. package/dist-types/combo-box-next/useComboBoxNext.d.ts +11 -11
  60. package/dist-types/content-status/internal/StatusIndicator.d.ts +1 -1
  61. package/dist-types/dialog/Dialog.d.ts +9 -1
  62. package/dist-types/dialog/DialogContext.d.ts +0 -2
  63. package/dist-types/dialog/DialogTitle.d.ts +9 -3
  64. package/dist-types/dropdown-next/DropdownNext.d.ts +5 -3
  65. package/dist-types/index.d.ts +0 -2
  66. package/dist-types/list-control/ListControlContext.d.ts +10 -10
  67. package/dist-types/list-control/ListControlState.d.ts +15 -15
  68. package/dist-types/option/Option.d.ts +1 -1
  69. package/dist-types/parent-child-layout/ParentChildLayout.d.ts +8 -13
  70. package/package.json +2 -2
  71. package/dist-cjs/dialog/useDialog.js +0 -31
  72. package/dist-cjs/dialog/useDialog.js.map +0 -1
  73. package/dist-cjs/parent-child-item/ParentChildItem.css.js +0 -6
  74. package/dist-cjs/parent-child-item/ParentChildItem.css.js.map +0 -1
  75. package/dist-cjs/parent-child-item/ParentChildItem.js +0 -48
  76. package/dist-cjs/parent-child-item/ParentChildItem.js.map +0 -1
  77. package/dist-cjs/progress/CircularProgress/CircularProgress.css.js +0 -6
  78. package/dist-cjs/progress/CircularProgress/CircularProgress.css.js.map +0 -1
  79. package/dist-cjs/progress/CircularProgress/CircularProgress.js +0 -89
  80. package/dist-cjs/progress/CircularProgress/CircularProgress.js.map +0 -1
  81. package/dist-cjs/progress/Info.js +0 -20
  82. package/dist-cjs/progress/Info.js.map +0 -1
  83. package/dist-cjs/progress/LinearProgress/LinearProgress.css.js +0 -6
  84. package/dist-cjs/progress/LinearProgress/LinearProgress.css.js.map +0 -1
  85. package/dist-cjs/progress/LinearProgress/LinearProgress.js +0 -63
  86. package/dist-cjs/progress/LinearProgress/LinearProgress.js.map +0 -1
  87. package/dist-es/dialog/useDialog.js +0 -27
  88. package/dist-es/dialog/useDialog.js.map +0 -1
  89. package/dist-es/parent-child-item/ParentChildItem.css.js +0 -4
  90. package/dist-es/parent-child-item/ParentChildItem.css.js.map +0 -1
  91. package/dist-es/parent-child-item/ParentChildItem.js +0 -44
  92. package/dist-es/parent-child-item/ParentChildItem.js.map +0 -1
  93. package/dist-es/progress/CircularProgress/CircularProgress.css.js +0 -4
  94. package/dist-es/progress/CircularProgress/CircularProgress.css.js.map +0 -1
  95. package/dist-es/progress/CircularProgress/CircularProgress.js +0 -85
  96. package/dist-es/progress/CircularProgress/CircularProgress.js.map +0 -1
  97. package/dist-es/progress/Info.js +0 -16
  98. package/dist-es/progress/Info.js.map +0 -1
  99. package/dist-es/progress/LinearProgress/LinearProgress.css.js +0 -4
  100. package/dist-es/progress/LinearProgress/LinearProgress.css.js.map +0 -1
  101. package/dist-es/progress/LinearProgress/LinearProgress.js +0 -59
  102. package/dist-es/progress/LinearProgress/LinearProgress.js.map +0 -1
  103. package/dist-types/dialog/useDialog.d.ts +0 -25
  104. package/dist-types/parent-child-item/ParentChildItem.d.ts +0 -31
  105. package/dist-types/parent-child-item/index.d.ts +0 -1
  106. package/dist-types/progress/CircularProgress/CircularProgress.d.ts +0 -25
  107. package/dist-types/progress/Info.d.ts +0 -6
  108. package/dist-types/progress/LinearProgress/LinearProgress.d.ts +0 -26
  109. package/dist-types/progress/index.d.ts +0 -2
@@ -33,10 +33,8 @@ export * from "./menu-button";
33
33
  export * from "./metric";
34
34
  export * from "./option";
35
35
  export * from "./overlay";
36
- export * from "./parent-child-item";
37
36
  export * from "./parent-child-layout";
38
37
  export * from "./portal";
39
- export * from "./progress";
40
38
  export * from "./query-input";
41
39
  export * from "./responsive";
42
40
  export * from "./search-input";
@@ -1,20 +1,20 @@
1
1
  import { SyntheticEvent } from "react";
2
- export interface OptionValue {
2
+ export interface OptionValue<Item> {
3
3
  id: string;
4
4
  disabled: boolean;
5
- value: string;
5
+ value: Item;
6
6
  text: string;
7
7
  }
8
- export interface ListControlContextValue {
8
+ export interface ListControlContextValue<Item> {
9
9
  openState: boolean;
10
10
  setOpen: (event: SyntheticEvent, newOpen: boolean) => void;
11
- register: (optionValue: OptionValue, element: HTMLElement) => () => void;
12
- selectedState: string[];
13
- select: (event: SyntheticEvent, option: OptionValue) => void;
14
- activeState?: OptionValue;
15
- setActive: (option: OptionValue) => void;
11
+ register: (optionValue: OptionValue<Item>, element: HTMLElement) => () => void;
12
+ selectedState: unknown[];
13
+ select: (event: SyntheticEvent, option: OptionValue<Item>) => void;
14
+ activeState?: OptionValue<Item>;
15
+ setActive: (option: OptionValue<Item>) => void;
16
16
  multiselect: boolean;
17
17
  focusVisibleState: boolean;
18
18
  }
19
- export declare const ListControlContext: import("react").Context<ListControlContextValue>;
20
- export declare function useListControlContext(): ListControlContextValue;
19
+ export declare const ListControlContext: import("react").Context<ListControlContextValue<any>>;
20
+ export declare function useListControlContext<Item>(): ListControlContextValue<Item>;
@@ -1,6 +1,6 @@
1
1
  import { SyntheticEvent } from "react";
2
2
  import { OptionValue } from "./ListControlContext";
3
- export interface ListControlProps {
3
+ export interface ListControlProps<Item> {
4
4
  /**
5
5
  * If true, the list will be open by default.
6
6
  */
@@ -16,15 +16,15 @@ export interface ListControlProps {
16
16
  /**
17
17
  * The default selected options. If this is provided `defaultValue` should be provided as well.
18
18
  */
19
- defaultSelected?: string[];
19
+ defaultSelected?: Item[];
20
20
  /**
21
21
  * The selected options. The component will be controlled if this prop is provided.
22
22
  */
23
- selected?: string[];
23
+ selected?: Item[];
24
24
  /**
25
25
  * Callback fired when the selected options change.
26
26
  */
27
- onSelectionChange?: (event: SyntheticEvent, newSelected: string[]) => void;
27
+ onSelectionChange?: (event: SyntheticEvent, newSelected: Item[]) => void;
28
28
  /**
29
29
  * The default value.
30
30
  */
@@ -38,7 +38,7 @@ export interface ListControlProps {
38
38
  */
39
39
  multiselect?: boolean;
40
40
  }
41
- export declare function useListControl(props: ListControlProps): {
41
+ export declare function useListControl<Item>(props: ListControlProps<Item>): {
42
42
  multiselect: boolean;
43
43
  openState: boolean;
44
44
  setOpen: (event: SyntheticEvent, newOpen: boolean) => void;
@@ -46,11 +46,11 @@ export declare function useListControl(props: ListControlProps): {
46
46
  key: string;
47
47
  altKey: boolean;
48
48
  }>;
49
- activeState: OptionValue | undefined;
50
- setActive: (option?: OptionValue | undefined) => void;
51
- selectedState: string[];
52
- setSelectedState: import("react").Dispatch<import("react").SetStateAction<string[]>>;
53
- select: (event: SyntheticEvent, option: OptionValue) => void;
49
+ activeState: OptionValue<Item> | undefined;
50
+ setActive: (option?: OptionValue<Item> | undefined) => void;
51
+ selectedState: Item[];
52
+ setSelectedState: import("react").Dispatch<import("react").SetStateAction<Item[]>>;
53
+ select: (event: SyntheticEvent, option: OptionValue<Item>) => void;
54
54
  clear: (event: SyntheticEvent) => void;
55
55
  valueState: string | number | readonly string[] | undefined;
56
56
  setValueState: import("react").Dispatch<import("react").SetStateAction<string | number | readonly string[] | undefined>>;
@@ -60,9 +60,9 @@ export declare function useListControl(props: ListControlProps): {
60
60
  setFocusedState: import("react").Dispatch<import("react").SetStateAction<boolean>>;
61
61
  listRef: import("react").RefObject<HTMLDivElement>;
62
62
  options: HTMLElement[];
63
- register: (optionValue: OptionValue, element: HTMLElement) => () => void;
64
- getOptionAtIndex: (index: number) => OptionValue;
65
- getIndexOfOption: (option: OptionValue) => number;
66
- getOptionsMatching: (predicate: (option: OptionValue) => boolean) => OptionValue[];
67
- getOptionFromSearch: (search: string, startFrom?: OptionValue | undefined) => OptionValue | undefined;
63
+ register: (optionValue: OptionValue<Item>, element: HTMLElement) => () => void;
64
+ getOptionAtIndex: (index: number) => OptionValue<Item>;
65
+ getIndexOfOption: (option: OptionValue<Item>) => number;
66
+ getOptionsMatching: (predicate: (option: OptionValue<Item>) => boolean) => OptionValue<Item>[];
67
+ getOptionFromSearch: (search: string, startFrom?: OptionValue<Item> | undefined) => OptionValue<Item> | undefined;
68
68
  };
@@ -7,7 +7,7 @@ export interface OptionProps extends ComponentPropsWithoutRef<"div"> {
7
7
  /**
8
8
  * The value of the option.
9
9
  */
10
- value: string;
10
+ value: unknown;
11
11
  /**
12
12
  * The text value of the option. If not provided, the text value will be inferred from the children.
13
13
  */
@@ -1,28 +1,23 @@
1
1
  import { Breakpoints, FlexLayoutProps } from "@salt-ds/core";
2
- import { ElementType, HTMLAttributes, ReactNode } from "react";
2
+ import { ReactNode } from "react";
3
3
  export declare type StackedViewElement = "parent" | "child";
4
- declare type Orientation = "horizontal" | "vertical";
5
- export interface ParentChildLayoutProps extends HTMLAttributes<HTMLDivElement> {
4
+ export interface ParentChildLayoutProps extends FlexLayoutProps<"div"> {
6
5
  /**
7
6
  * Breakpoint at which the parent and child will stack.
8
7
  */
9
- stackedAtBreakpoint?: keyof Breakpoints;
8
+ collapseAtBreakpoint?: keyof Breakpoints;
10
9
  /**
11
10
  * Change element that is displayed when in staked view.
12
11
  */
13
- stackedViewElement?: StackedViewElement;
12
+ collapsedViewElement?: StackedViewElement;
14
13
  /**
15
14
  * Disable all animations.
16
15
  */
17
16
  disableAnimations?: boolean;
18
17
  /**
19
- * Orientation for slide animations.
18
+ * Position of the parent component within the layout.
20
19
  */
21
- orientation?: Orientation;
22
- /**
23
- * Controls the space between columns.
24
- */
25
- gap?: FlexLayoutProps<ElementType>["gap"];
20
+ parentPosition?: "left" | "right";
26
21
  /**
27
22
  * Parent component to be rendered
28
23
  */
@@ -31,6 +26,6 @@ export interface ParentChildLayoutProps extends HTMLAttributes<HTMLDivElement> {
31
26
  * Child component to be rendered
32
27
  */
33
28
  child: ReactNode;
29
+ onCollapseChange?: (isCollapsed: boolean) => void;
34
30
  }
35
- export declare const ParentChildLayout: import("react").ForwardRefExoticComponent<ParentChildLayoutProps & import("react").RefAttributes<HTMLDivElement>>;
36
- export {};
31
+ export declare const ParentChildLayout: import("react").ForwardRefExoticComponent<Omit<ParentChildLayoutProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salt-ds/lab",
3
- "version": "1.0.0-alpha.30",
3
+ "version": "1.0.0-alpha.31",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -26,7 +26,7 @@
26
26
  "react-window": "^1.8.6",
27
27
  "rifm": "^0.12.0",
28
28
  "tinycolor2": "^1.4.2",
29
- "@salt-ds/core": "^1.16.1",
29
+ "@salt-ds/core": "^1.17.0",
30
30
  "@salt-ds/window": "^0.1.1",
31
31
  "@salt-ds/styles": "^0.2.1",
32
32
  "@salt-ds/icons": "^1.9.1"
@@ -1,31 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var react = require('@floating-ui/react');
6
- var core = require('@salt-ds/core');
7
-
8
- function useDialog(props) {
9
- const { open, onOpenChange } = props;
10
- const { context, floating } = core.useFloatingUI({
11
- open,
12
- onOpenChange
13
- });
14
- const click = react.useClick(context);
15
- const role = react.useRole(context);
16
- const dismiss = react.useDismiss(context);
17
- const { getFloatingProps, getReferenceProps } = react.useInteractions([
18
- role,
19
- dismiss,
20
- click
21
- ]);
22
- return {
23
- getFloatingProps,
24
- getReferenceProps,
25
- floating,
26
- context
27
- };
28
- }
29
-
30
- exports.useDialog = useDialog;
31
- //# sourceMappingURL=useDialog.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDialog.js","sources":["../src/dialog/useDialog.ts"],"sourcesContent":["import {\n useClick,\n useDismiss,\n useInteractions,\n useRole,\n} from \"@floating-ui/react\";\nimport { useFloatingUI, UseFloatingUIProps } from \"@salt-ds/core\";\n\nexport type UseDialogProps = Partial<\n Pick<UseFloatingUIProps, \"onOpenChange\" | \"open\">\n>;\n\nexport function useDialog(props: UseDialogProps) {\n const { open, onOpenChange } = props;\n\n const { context, floating } = useFloatingUI({\n open,\n onOpenChange,\n });\n\n const click = useClick(context);\n const role = useRole(context);\n const dismiss = useDismiss(context);\n\n const { getFloatingProps, getReferenceProps } = useInteractions([\n role,\n dismiss,\n click,\n ]);\n\n return {\n getFloatingProps,\n getReferenceProps,\n floating,\n context,\n };\n}\n"],"names":["useFloatingUI","useClick","useRole","useDismiss","useInteractions"],"mappings":";;;;;;;AAYO,SAAS,UAAU,KAAuB,EAAA;AAC/C,EAAM,MAAA,EAAE,IAAM,EAAA,YAAA,EAAiB,GAAA,KAAA,CAAA;AAE/B,EAAA,MAAM,EAAE,OAAA,EAAS,QAAS,EAAA,GAAIA,kBAAc,CAAA;AAAA,IAC1C,IAAA;AAAA,IACA,YAAA;AAAA,GACD,CAAA,CAAA;AAED,EAAM,MAAA,KAAA,GAAQC,eAAS,OAAO,CAAA,CAAA;AAC9B,EAAM,MAAA,IAAA,GAAOC,cAAQ,OAAO,CAAA,CAAA;AAC5B,EAAM,MAAA,OAAA,GAAUC,iBAAW,OAAO,CAAA,CAAA;AAElC,EAAA,MAAM,EAAE,gBAAA,EAAkB,iBAAkB,EAAA,GAAIC,qBAAgB,CAAA;AAAA,IAC9D,IAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,GACD,CAAA,CAAA;AAED,EAAO,OAAA;AAAA,IACL,gBAAA;AAAA,IACA,iBAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,GACF,CAAA;AACF;;;;"}
@@ -1,6 +0,0 @@
1
- 'use strict';
2
-
3
- var css_248z = ".saltParentChildItem-slide-top {\n animation: var(--salt-animation-slide-in-top);\n}\n.saltParentChildItem-slide-bottom {\n animation: var(--salt-animation-slide-in-bottom);\n}\n.saltParentChildItem-slide-left {\n animation: var(--salt-animation-slide-in-left);\n}\n.saltParentChildItem-slide-right {\n animation: var(--salt-animation-slide-in-right);\n}\n";
4
-
5
- module.exports = css_248z;
6
- //# sourceMappingURL=ParentChildItem.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ParentChildItem.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1,48 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var jsxRuntime = require('react/jsx-runtime');
6
- var React = require('react');
7
- var clsx = require('clsx');
8
- var core = require('@salt-ds/core');
9
- var window = require('@salt-ds/window');
10
- var styles = require('@salt-ds/styles');
11
- var ParentChildItem$1 = require('./ParentChildItem.css.js');
12
-
13
- const withBaseName = core.makePrefixer("saltParentChildItem");
14
- const ParentChildItem = React.forwardRef(
15
- function ParentChildItem2({
16
- disableAnimations = false,
17
- direction,
18
- isStacked,
19
- children,
20
- className,
21
- ...rest
22
- }, ref) {
23
- const targetWindow = window.useWindow();
24
- styles.useComponentCssInjection({
25
- testId: "salt-parent-child-item",
26
- css: ParentChildItem$1,
27
- window: targetWindow
28
- });
29
- return /* @__PURE__ */ jsxRuntime.jsx(core.FlexItem, {
30
- className: clsx.clsx(
31
- withBaseName(),
32
- {
33
- ...direction && {
34
- [withBaseName(`slide-${direction}`)]: !disableAnimations
35
- },
36
- "saltFlexItem-stacked": isStacked
37
- },
38
- className
39
- ),
40
- ref,
41
- ...rest,
42
- children
43
- });
44
- }
45
- );
46
-
47
- exports.ParentChildItem = ParentChildItem;
48
- //# sourceMappingURL=ParentChildItem.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ParentChildItem.js","sources":["../src/parent-child-item/ParentChildItem.tsx"],"sourcesContent":["import { forwardRef, HTMLAttributes } from \"react\";\nimport { clsx } from \"clsx\";\nimport {\n FlexItem,\n flexItemAlignment,\n makePrefixer,\n ResponsiveProp,\n} from \"@salt-ds/core\";\n\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport parentChildItemCss from \"./ParentChildItem.css\";\n\nexport type SlideDirection = \"top\" | \"bottom\" | \"left\" | \"right\";\n\nexport interface ParentChildItemProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Allows the alignment specified by parent to be overridden for individual items, default is \"start\".\n */\n align?: flexItemAlignment;\n /**\n * Disable all animations.\n */\n disableAnimations?: boolean;\n /**\n * Direction for slide animations.\n */\n direction?: SlideDirection;\n /**\n * Defines the ability for an item to grow x times more compared to it's siblings, default is 0.\n */\n grow?: ResponsiveProp<number>;\n /**\n * Determines whether the component is stacked\n */\n isStacked?: boolean;\n /**\n * Defines the ability for an item to shrink x times more compared to it's siblings, default is 1.\n\n */\n shrink?: ResponsiveProp<number>;\n}\n\nconst withBaseName = makePrefixer(\"saltParentChildItem\");\nexport const ParentChildItem = forwardRef<HTMLDivElement, ParentChildItemProps>(\n function ParentChildItem(\n {\n disableAnimations = false,\n direction,\n isStacked,\n children,\n className,\n ...rest\n },\n ref\n ) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-parent-child-item\",\n css: parentChildItemCss,\n window: targetWindow,\n });\n\n return (\n <FlexItem\n className={clsx(\n withBaseName(),\n {\n ...(direction && {\n [withBaseName(`slide-${direction}`)]: !disableAnimations,\n }),\n \"saltFlexItem-stacked\": isStacked,\n },\n className\n )}\n ref={ref}\n {...rest}\n >\n {children}\n </FlexItem>\n );\n }\n);\n"],"names":["makePrefixer","forwardRef","ParentChildItem","useWindow","useComponentCssInjection","parentChildItemCss","jsx","FlexItem","clsx"],"mappings":";;;;;;;;;;;;AA4CA,MAAM,YAAA,GAAeA,kBAAa,qBAAqB,CAAA,CAAA;AAChD,MAAM,eAAkB,GAAAC,gBAAA;AAAA,EAC7B,SAASC,gBACP,CAAA;AAAA,IACE,iBAAoB,GAAA,KAAA;AAAA,IACpB,SAAA;AAAA,IACA,SAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,IACG,GAAA,IAAA;AAAA,KAEL,GACA,EAAA;AACA,IAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,IAAyBC,+BAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,wBAAA;AAAA,MACR,GAAK,EAAAC,iBAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAA,uBACGC,cAAA,CAAAC,aAAA,EAAA;AAAA,MACC,SAAW,EAAAC,SAAA;AAAA,QACT,YAAa,EAAA;AAAA,QACb;AAAA,UACE,GAAI,SAAa,IAAA;AAAA,YACf,CAAC,YAAA,CAAa,CAAS,MAAA,EAAA,SAAA,CAAA,CAAW,IAAI,CAAC,iBAAA;AAAA,WACzC;AAAA,UACA,sBAAwB,EAAA,SAAA;AAAA,SAC1B;AAAA,QACA,SAAA;AAAA,OACF;AAAA,MACA,GAAA;AAAA,MACC,GAAG,IAAA;AAAA,MAEH,QAAA;AAAA,KACH,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -1,6 +0,0 @@
1
- 'use strict';
2
-
3
- var css_248z = ".saltCircularProgress {\n color: var(--salt-content-primary-foreground);\n display: inline-flex;\n position: relative;\n}\n\n.saltCircularProgress-progressValue {\n align-items: center;\n color: var(--salt-content-primary-foreground);\n display: flex;\n font-family: var(--salt-text-fontFamily);\n font-size: var(--salt-text-label-fontSize);\n font-weight: var(--salt-text-label-fontWeight-strong);\n height: 100%;\n justify-content: center;\n left: 0;\n position: absolute;\n width: 100%;\n}\n\n.saltCircularProgress-track {\n inline-size: calc(var(--salt-size-base) * 3);\n block-size: calc(var(--salt-size-base) * 3);\n border-style: var(--salt-track-borderStyle);\n border-width: var(--salt-size-bar-small);\n border-radius: calc(var(--salt-size-base) * 3);\n border-color: var(--salt-palette-neutral-secondary-border);\n}\n\n.saltCircularProgress-bar {\n inline-size: calc(var(--salt-size-base) * 3);\n block-size: calc(var(--salt-size-base) * 3);\n border-style: var(--salt-track-borderStyle);\n border-width: var(--salt-size-bar-strong);\n border-radius: calc(var(--salt-size-base) * 3);\n border-color: var(--salt-accent-background);\n}\n\n.saltCircularProgress-bars {\n position: absolute;\n inset-block-start: 0;\n inset-inline-start: 0;\n inline-size: 100%;\n block-size: 100%;\n}\n\n.saltCircularProgress-barOverlayRight,\n.saltCircularProgress-barOverlayLeft {\n inline-size: 50%;\n block-size: 100%;\n transform-origin: 100% center;\n transform: rotate(180deg);\n overflow: hidden;\n position: absolute;\n}\n\n.saltCircularProgress-barSubOverlayRight,\n.saltCircularProgress-barSubOverlayLeft {\n inline-size: 100%;\n block-size: 100%;\n transform-origin: 100% center;\n overflow: hidden;\n transform: rotate(-180deg);\n}\n\n.saltCircularProgress-barOverlayLeft {\n transform: rotate(0deg);\n}\n";
4
-
5
- module.exports = css_248z;
6
- //# sourceMappingURL=CircularProgress.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CircularProgress.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1,89 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var jsxRuntime = require('react/jsx-runtime');
6
- var React = require('react');
7
- var clsx = require('clsx');
8
- var core = require('@salt-ds/core');
9
- var Info = require('../Info.js');
10
- var window = require('@salt-ds/window');
11
- var styles = require('@salt-ds/styles');
12
- var CircularProgress$1 = require('./CircularProgress.css.js');
13
-
14
- const withBaseName = core.makePrefixer("saltCircularProgress");
15
- const CircularProgress = React.forwardRef(function CircularProgress2({ "aria-label": ariaLabel, className, max = 100, value = 0, ...rest }, ref) {
16
- const targetWindow = window.useWindow();
17
- styles.useComponentCssInjection({
18
- testId: "salt-circular-progress",
19
- css: CircularProgress$1,
20
- window: targetWindow
21
- });
22
- const subOverlayRightStyle = {};
23
- const subOverlayLeftStyle = {};
24
- const getRotationAngle = (progress2, shift = 0) => {
25
- return -180 + (progress2 - shift) / 50 * 180;
26
- };
27
- const progress = value / max * 100;
28
- if (progress <= 50) {
29
- const rotationAngle = getRotationAngle(progress);
30
- subOverlayRightStyle.transform = `rotate(${rotationAngle}deg)`;
31
- subOverlayLeftStyle.transform = "rotate(-180deg)";
32
- } else {
33
- const rotationAngle = getRotationAngle(progress, 50);
34
- subOverlayRightStyle.transform = "rotate(0deg)";
35
- subOverlayLeftStyle.transform = `rotate(${rotationAngle}deg)`;
36
- }
37
- const progressInfo = /* @__PURE__ */ jsxRuntime.jsx(Info.Info, {
38
- className: withBaseName("progressValue"),
39
- unit: "%",
40
- value: Math.round(progress)
41
- });
42
- return /* @__PURE__ */ jsxRuntime.jsxs("div", {
43
- className: clsx.clsx(withBaseName(), className),
44
- "data-testid": "circular-progress",
45
- ref,
46
- role: "progressbar",
47
- "aria-label": ariaLabel,
48
- "aria-valuemax": max,
49
- "aria-valuemin": 0,
50
- "aria-valuenow": Math.round(value),
51
- ...rest,
52
- children: [
53
- /* @__PURE__ */ jsxRuntime.jsx("div", {
54
- className: withBaseName("track")
55
- }),
56
- /* @__PURE__ */ jsxRuntime.jsxs("div", {
57
- className: withBaseName("bars"),
58
- children: [
59
- /* @__PURE__ */ jsxRuntime.jsx("div", {
60
- className: withBaseName("barOverlayRight"),
61
- children: /* @__PURE__ */ jsxRuntime.jsx("div", {
62
- className: withBaseName("barSubOverlayRight"),
63
- "data-testid": "barSubOverlayRight",
64
- style: subOverlayRightStyle,
65
- children: /* @__PURE__ */ jsxRuntime.jsx("div", {
66
- className: withBaseName("bar")
67
- })
68
- })
69
- }),
70
- /* @__PURE__ */ jsxRuntime.jsx("div", {
71
- className: withBaseName("barOverlayLeft"),
72
- children: /* @__PURE__ */ jsxRuntime.jsx("div", {
73
- className: withBaseName("barSubOverlayLeft"),
74
- "data-testid": "barSubOverlayLeft",
75
- style: subOverlayLeftStyle,
76
- children: /* @__PURE__ */ jsxRuntime.jsx("div", {
77
- className: withBaseName("bar")
78
- })
79
- })
80
- })
81
- ]
82
- }),
83
- progressInfo
84
- ]
85
- });
86
- });
87
-
88
- exports.CircularProgress = CircularProgress;
89
- //# sourceMappingURL=CircularProgress.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CircularProgress.js","sources":["../src/progress/CircularProgress/CircularProgress.tsx"],"sourcesContent":["import { CSSProperties, forwardRef, HTMLAttributes } from \"react\";\nimport { clsx } from \"clsx\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { Info } from \"../Info\";\n\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport circularProgressCSS from \"./CircularProgress.css\";\n\nconst withBaseName = makePrefixer(\"saltCircularProgress\");\n\nexport interface CircularProgressProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * A label for accessibility\n */\n \"aria-label\"?: string;\n /**\n * The className(s) of the component\n */\n className?: string;\n /**\n * The value of the max progress indicator.\n * Default value is 100.\n */\n max?: number;\n /**\n * The value of the progress indicator.\n * Value between 0 and max.\n */\n value?: number;\n}\n\n/**\n * Circular progress bar with an Info element showing the current value\n */\nexport const CircularProgress = forwardRef<\n HTMLDivElement,\n CircularProgressProps\n>(function CircularProgress(\n { \"aria-label\": ariaLabel, className, max = 100, value = 0, ...rest },\n ref\n) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-circular-progress\",\n css: circularProgressCSS,\n window: targetWindow,\n });\n\n const subOverlayRightStyle: CSSProperties = {};\n const subOverlayLeftStyle: CSSProperties = {};\n\n const getRotationAngle = (progress: number, shift = 0) => {\n return -180 + ((progress - shift) / 50) * 180;\n };\n\n const progress = (value / max) * 100;\n\n if (progress <= 50) {\n const rotationAngle = getRotationAngle(progress);\n subOverlayRightStyle.transform = `rotate(${rotationAngle}deg)`;\n subOverlayLeftStyle.transform = \"rotate(-180deg)\";\n } else {\n const rotationAngle = getRotationAngle(progress, 50);\n subOverlayRightStyle.transform = \"rotate(0deg)\";\n subOverlayLeftStyle.transform = `rotate(${rotationAngle}deg)`;\n }\n\n const progressInfo = (\n <Info\n className={withBaseName(\"progressValue\")}\n unit=\"%\"\n value={Math.round(progress)}\n />\n );\n\n return (\n <div\n className={clsx(withBaseName(), className)}\n data-testid=\"circular-progress\"\n ref={ref}\n role=\"progressbar\"\n aria-label={ariaLabel}\n aria-valuemax={max}\n aria-valuemin={0}\n aria-valuenow={Math.round(value)}\n {...rest}\n >\n <div className={withBaseName(\"track\")} />\n <div className={withBaseName(\"bars\")}>\n <div className={withBaseName(\"barOverlayRight\")}>\n <div\n className={withBaseName(\"barSubOverlayRight\")}\n data-testid=\"barSubOverlayRight\"\n style={subOverlayRightStyle}\n >\n <div className={withBaseName(\"bar\")} />\n </div>\n </div>\n <div className={withBaseName(\"barOverlayLeft\")}>\n <div\n className={withBaseName(\"barSubOverlayLeft\")}\n data-testid=\"barSubOverlayLeft\"\n style={subOverlayLeftStyle}\n >\n <div className={withBaseName(\"bar\")} />\n </div>\n </div>\n </div>\n {progressInfo}\n </div>\n );\n});\n"],"names":["makePrefixer","forwardRef","CircularProgress","useWindow","useComponentCssInjection","circularProgressCSS","progress","jsx","Info","jsxs","clsx"],"mappings":";;;;;;;;;;;;;AAUA,MAAM,YAAA,GAAeA,kBAAa,sBAAsB,CAAA,CAAA;AA0BjD,MAAM,gBAAmB,GAAAC,gBAAA,CAG9B,SAASC,iBAAAA,CACT,EAAE,YAAc,EAAA,SAAA,EAAW,SAAW,EAAA,GAAA,GAAM,GAAK,EAAA,KAAA,GAAQ,CAAM,EAAA,GAAA,IAAA,IAC/D,GACA,EAAA;AACA,EAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,wBAAA;AAAA,IACR,GAAK,EAAAC,kBAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAA,MAAM,uBAAsC,EAAC,CAAA;AAC7C,EAAA,MAAM,sBAAqC,EAAC,CAAA;AAE5C,EAAA,MAAM,gBAAmB,GAAA,CAACC,SAAkB,EAAA,KAAA,GAAQ,CAAM,KAAA;AACxD,IAAO,OAAA,CAAA,GAAA,GAAA,CAASA,SAAW,GAAA,KAAA,IAAS,EAAM,GAAA,GAAA,CAAA;AAAA,GAC5C,CAAA;AAEA,EAAM,MAAA,QAAA,GAAY,QAAQ,GAAO,GAAA,GAAA,CAAA;AAEjC,EAAA,IAAI,YAAY,EAAI,EAAA;AAClB,IAAM,MAAA,aAAA,GAAgB,iBAAiB,QAAQ,CAAA,CAAA;AAC/C,IAAA,oBAAA,CAAqB,YAAY,CAAU,OAAA,EAAA,aAAA,CAAA,IAAA,CAAA,CAAA;AAC3C,IAAA,mBAAA,CAAoB,SAAY,GAAA,iBAAA,CAAA;AAAA,GAC3B,MAAA;AACL,IAAM,MAAA,aAAA,GAAgB,gBAAiB,CAAA,QAAA,EAAU,EAAE,CAAA,CAAA;AACnD,IAAA,oBAAA,CAAqB,SAAY,GAAA,cAAA,CAAA;AACjC,IAAA,mBAAA,CAAoB,YAAY,CAAU,OAAA,EAAA,aAAA,CAAA,IAAA,CAAA,CAAA;AAAA,GAC5C;AAEA,EAAA,MAAM,+BACHC,cAAA,CAAAC,SAAA,EAAA;AAAA,IACC,SAAA,EAAW,aAAa,eAAe,CAAA;AAAA,IACvC,IAAK,EAAA,GAAA;AAAA,IACL,KAAA,EAAO,IAAK,CAAA,KAAA,CAAM,QAAQ,CAAA;AAAA,GAC5B,CAAA,CAAA;AAGF,EAAA,uBACGC,eAAA,CAAA,KAAA,EAAA;AAAA,IACC,SAAW,EAAAC,SAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,IACzC,aAAY,EAAA,mBAAA;AAAA,IACZ,GAAA;AAAA,IACA,IAAK,EAAA,aAAA;AAAA,IACL,YAAY,EAAA,SAAA;AAAA,IACZ,eAAe,EAAA,GAAA;AAAA,IACf,eAAe,EAAA,CAAA;AAAA,IACf,eAAA,EAAe,IAAK,CAAA,KAAA,CAAM,KAAK,CAAA;AAAA,IAC9B,GAAG,IAAA;AAAA,IAEJ,QAAA,EAAA;AAAA,sBAACH,cAAA,CAAA,KAAA,EAAA;AAAA,QAAI,SAAA,EAAW,aAAa,OAAO,CAAA;AAAA,OAAG,CAAA;AAAA,sBACtCE,eAAA,CAAA,KAAA,EAAA;AAAA,QAAI,SAAA,EAAW,aAAa,MAAM,CAAA;AAAA,QACjC,QAAA,EAAA;AAAA,0BAACF,cAAA,CAAA,KAAA,EAAA;AAAA,YAAI,SAAA,EAAW,aAAa,iBAAiB,CAAA;AAAA,YAC5C,QAAC,kBAAAA,cAAA,CAAA,KAAA,EAAA;AAAA,cACC,SAAA,EAAW,aAAa,oBAAoB,CAAA;AAAA,cAC5C,aAAY,EAAA,oBAAA;AAAA,cACZ,KAAO,EAAA,oBAAA;AAAA,cAEP,QAAC,kBAAAA,cAAA,CAAA,KAAA,EAAA;AAAA,gBAAI,SAAA,EAAW,aAAa,KAAK,CAAA;AAAA,eAAG,CAAA;AAAA,aACvC,CAAA;AAAA,WACF,CAAA;AAAA,0BACCA,cAAA,CAAA,KAAA,EAAA;AAAA,YAAI,SAAA,EAAW,aAAa,gBAAgB,CAAA;AAAA,YAC3C,QAAC,kBAAAA,cAAA,CAAA,KAAA,EAAA;AAAA,cACC,SAAA,EAAW,aAAa,mBAAmB,CAAA;AAAA,cAC3C,aAAY,EAAA,mBAAA;AAAA,cACZ,KAAO,EAAA,mBAAA;AAAA,cAEP,QAAC,kBAAAA,cAAA,CAAA,KAAA,EAAA;AAAA,gBAAI,SAAA,EAAW,aAAa,KAAK,CAAA;AAAA,eAAG,CAAA;AAAA,aACvC,CAAA;AAAA,WACF,CAAA;AAAA,SAAA;AAAA,OACF,CAAA;AAAA,MACC,YAAA;AAAA,KAAA;AAAA,GACH,CAAA,CAAA;AAEJ,CAAC;;;;"}
@@ -1,20 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var jsxRuntime = require('react/jsx-runtime');
6
- var core = require('@salt-ds/core');
7
-
8
- const Info = ({ className, value, unit }) => {
9
- return /* @__PURE__ */ jsxRuntime.jsxs(core.Text, {
10
- styleAs: "h2",
11
- className,
12
- children: [
13
- value,
14
- unit
15
- ]
16
- });
17
- };
18
-
19
- exports.Info = Info;
20
- //# sourceMappingURL=Info.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Info.js","sources":["../src/progress/Info.tsx"],"sourcesContent":["import { Text } from \"@salt-ds/core\";\nexport interface InfoProps {\n className: string;\n unit: string;\n value: number;\n}\n\nexport const Info = ({ className, value, unit }: InfoProps) => {\n return (\n <Text styleAs=\"h2\" className={className}>\n {value}\n {unit}\n </Text>\n );\n};\n"],"names":["jsxs","Text"],"mappings":";;;;;;;AAOO,MAAM,OAAO,CAAC,EAAE,SAAW,EAAA,KAAA,EAAO,MAAsB,KAAA;AAC7D,EAAA,uBACGA,eAAA,CAAAC,SAAA,EAAA;AAAA,IAAK,OAAQ,EAAA,IAAA;AAAA,IAAK,SAAA;AAAA,IAChB,QAAA,EAAA;AAAA,MAAA,KAAA;AAAA,MACA,IAAA;AAAA,KAAA;AAAA,GACH,CAAA,CAAA;AAEJ;;;;"}
@@ -1,6 +0,0 @@
1
- 'use strict';
2
-
3
- var css_248z = ".saltLinearProgress {\n align-items: center;\n color: var(--salt-content-primary-foreground);\n display: flex;\n min-width: 400px;\n font-size: var(--linearProgress-fontSize);\n}\n\n.saltLinearProgress-barContainer {\n background: none;\n position: relative;\n width: 100%;\n overflow: hidden;\n height: var(--salt-size-bar-strong);\n}\n\n.saltLinearProgress-bar {\n width: 100%;\n position: absolute;\n left: 0;\n bottom: 0;\n top: 0;\n transition: transform 0.2s linear;\n transform-origin: left;\n background: var(--salt-accent-background);\n z-index: 2;\n}\n\n.saltLinearProgress-track {\n background: var(--salt-palette-neutral-secondary-border);\n width: 100%;\n height: var(--salt-size-bar-small);\n position: absolute;\n top: calc((var(--salt-size-bar-strong) - var(--salt-size-bar-small)) / 2);\n transition: transform 0.2s linear;\n transform-origin: left;\n}\n\n.saltLinearProgress-progressValue {\n color: inherit;\n font-family: var(--salt-text-fontFamily);\n font-size: var(--salt-text-label-fontSize);\n font-weight: var(--salt-text-label-fontWeight-strong);\n margin: 0;\n white-space: nowrap;\n padding-left: var(--salt-spacing-100);\n}\n";
4
-
5
- module.exports = css_248z;
6
- //# sourceMappingURL=LinearProgress.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LinearProgress.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1,63 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var jsxRuntime = require('react/jsx-runtime');
6
- var React = require('react');
7
- var clsx = require('clsx');
8
- var core = require('@salt-ds/core');
9
- var Info = require('../Info.js');
10
- var window = require('@salt-ds/window');
11
- var styles = require('@salt-ds/styles');
12
- var LinearProgress$1 = require('./LinearProgress.css.js');
13
-
14
- const withBaseName = core.makePrefixer("saltLinearProgress");
15
- const LinearProgress = React.forwardRef(
16
- function LinearProgress2({ className, max = 100, value = 0, ...rest }, ref) {
17
- const targetWindow = window.useWindow();
18
- styles.useComponentCssInjection({
19
- testId: "salt-linear-progress",
20
- css: LinearProgress$1,
21
- window: targetWindow
22
- });
23
- const progress = value / max * 100;
24
- const progressInfo = /* @__PURE__ */ jsxRuntime.jsx(Info.Info, {
25
- unit: "%",
26
- value: Math.round(progress),
27
- className: withBaseName("progressValue")
28
- });
29
- const barStyle = {};
30
- const trackStyle = {};
31
- barStyle.transform = `translateX(${progress - 100}%)`;
32
- trackStyle.transform = `translateX(${progress}%)`;
33
- return /* @__PURE__ */ jsxRuntime.jsxs("div", {
34
- className: clsx.clsx(withBaseName(), className),
35
- ref,
36
- "data-testid": "linear-progress",
37
- role: "progressbar",
38
- "aria-valuemax": max,
39
- "aria-valuemin": 0,
40
- "aria-valuenow": Math.round(value),
41
- ...rest,
42
- children: [
43
- /* @__PURE__ */ jsxRuntime.jsxs("div", {
44
- className: withBaseName("barContainer"),
45
- children: [
46
- /* @__PURE__ */ jsxRuntime.jsx("div", {
47
- className: withBaseName("bar"),
48
- style: barStyle
49
- }),
50
- /* @__PURE__ */ jsxRuntime.jsx("div", {
51
- className: withBaseName("track"),
52
- style: trackStyle
53
- })
54
- ]
55
- }),
56
- progressInfo
57
- ]
58
- });
59
- }
60
- );
61
-
62
- exports.LinearProgress = LinearProgress;
63
- //# sourceMappingURL=LinearProgress.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LinearProgress.js","sources":["../src/progress/LinearProgress/LinearProgress.tsx"],"sourcesContent":["import { CSSProperties, forwardRef, HTMLAttributes } from \"react\";\nimport { clsx } from \"clsx\";\nimport { makePrefixer } from \"@salt-ds/core\";\n\nimport { Info } from \"../Info\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport linearProgressCss from \"./LinearProgress.css\";\n\nconst withBaseName = makePrefixer(\"saltLinearProgress\");\n\nexport interface LinearProgressProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * The className(s) of the component.\n */\n className?: string;\n /**\n * The value of the max progress indicator.\n * Default value is 100.\n */\n max?: number;\n /**\n * The unit shown on the progress indicator.\n * Default unit is `%`.\n */\n unit?: string;\n /**\n * The value of the progress indicator.\n * Value between 0 and max.\n */\n value?: number;\n}\n\n/**\n * Linear progress bar with an Info element showing the current value\n */\nexport const LinearProgress = forwardRef<HTMLDivElement, LinearProgressProps>(\n function LinearProgress({ className, max = 100, value = 0, ...rest }, ref) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-linear-progress\",\n css: linearProgressCss,\n window: targetWindow,\n });\n\n const progress = (value / max) * 100;\n\n const progressInfo = (\n <Info\n unit=\"%\"\n value={Math.round(progress)}\n className={withBaseName(\"progressValue\")}\n />\n );\n\n const barStyle: CSSProperties = {};\n const trackStyle: CSSProperties = {};\n\n barStyle.transform = `translateX(${progress - 100}%)`;\n trackStyle.transform = `translateX(${progress}%)`;\n\n return (\n <div\n className={clsx(withBaseName(), className)}\n ref={ref}\n data-testid=\"linear-progress\"\n role=\"progressbar\"\n aria-valuemax={max}\n aria-valuemin={0}\n aria-valuenow={Math.round(value)}\n {...rest}\n >\n <div className={withBaseName(\"barContainer\")}>\n <div className={withBaseName(\"bar\")} style={barStyle} />\n <div className={withBaseName(\"track\")} style={trackStyle} />\n </div>\n {progressInfo}\n </div>\n );\n }\n);\n"],"names":["makePrefixer","forwardRef","LinearProgress","useWindow","useComponentCssInjection","linearProgressCss","jsx","Info","jsxs","clsx"],"mappings":";;;;;;;;;;;;;AAUA,MAAM,YAAA,GAAeA,kBAAa,oBAAoB,CAAA,CAAA;AA2B/C,MAAM,cAAiB,GAAAC,gBAAA;AAAA,EAC5B,SAASC,eAAe,CAAA,EAAE,SAAW,EAAA,GAAA,GAAM,KAAK,KAAQ,GAAA,CAAA,EAAA,GAAM,IAAK,EAAA,EAAG,GAAK,EAAA;AACzE,IAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,IAAyBC,+BAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,sBAAA;AAAA,MACR,GAAK,EAAAC,gBAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAM,MAAA,QAAA,GAAY,QAAQ,GAAO,GAAA,GAAA,CAAA;AAEjC,IAAA,MAAM,+BACHC,cAAA,CAAAC,SAAA,EAAA;AAAA,MACC,IAAK,EAAA,GAAA;AAAA,MACL,KAAA,EAAO,IAAK,CAAA,KAAA,CAAM,QAAQ,CAAA;AAAA,MAC1B,SAAA,EAAW,aAAa,eAAe,CAAA;AAAA,KACzC,CAAA,CAAA;AAGF,IAAA,MAAM,WAA0B,EAAC,CAAA;AACjC,IAAA,MAAM,aAA4B,EAAC,CAAA;AAEnC,IAAS,QAAA,CAAA,SAAA,GAAY,cAAc,QAAW,GAAA,GAAA,CAAA,EAAA,CAAA,CAAA;AAC9C,IAAA,UAAA,CAAW,YAAY,CAAc,WAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAAA;AAErC,IAAA,uBACGC,eAAA,CAAA,KAAA,EAAA;AAAA,MACC,SAAW,EAAAC,SAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MACzC,GAAA;AAAA,MACA,aAAY,EAAA,iBAAA;AAAA,MACZ,IAAK,EAAA,aAAA;AAAA,MACL,eAAe,EAAA,GAAA;AAAA,MACf,eAAe,EAAA,CAAA;AAAA,MACf,eAAA,EAAe,IAAK,CAAA,KAAA,CAAM,KAAK,CAAA;AAAA,MAC9B,GAAG,IAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAACD,eAAA,CAAA,KAAA,EAAA;AAAA,UAAI,SAAA,EAAW,aAAa,cAAc,CAAA;AAAA,UACzC,QAAA,EAAA;AAAA,4BAACF,cAAA,CAAA,KAAA,EAAA;AAAA,cAAI,SAAA,EAAW,aAAa,KAAK,CAAA;AAAA,cAAG,KAAO,EAAA,QAAA;AAAA,aAAU,CAAA;AAAA,4BACrDA,cAAA,CAAA,KAAA,EAAA;AAAA,cAAI,SAAA,EAAW,aAAa,OAAO,CAAA;AAAA,cAAG,KAAO,EAAA,UAAA;AAAA,aAAY,CAAA;AAAA,WAAA;AAAA,SAC5D,CAAA;AAAA,QACC,YAAA;AAAA,OAAA;AAAA,KACH,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -1,27 +0,0 @@
1
- import { useClick, useRole, useDismiss, useInteractions } from '@floating-ui/react';
2
- import { useFloatingUI } from '@salt-ds/core';
3
-
4
- function useDialog(props) {
5
- const { open, onOpenChange } = props;
6
- const { context, floating } = useFloatingUI({
7
- open,
8
- onOpenChange
9
- });
10
- const click = useClick(context);
11
- const role = useRole(context);
12
- const dismiss = useDismiss(context);
13
- const { getFloatingProps, getReferenceProps } = useInteractions([
14
- role,
15
- dismiss,
16
- click
17
- ]);
18
- return {
19
- getFloatingProps,
20
- getReferenceProps,
21
- floating,
22
- context
23
- };
24
- }
25
-
26
- export { useDialog };
27
- //# sourceMappingURL=useDialog.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDialog.js","sources":["../src/dialog/useDialog.ts"],"sourcesContent":["import {\n useClick,\n useDismiss,\n useInteractions,\n useRole,\n} from \"@floating-ui/react\";\nimport { useFloatingUI, UseFloatingUIProps } from \"@salt-ds/core\";\n\nexport type UseDialogProps = Partial<\n Pick<UseFloatingUIProps, \"onOpenChange\" | \"open\">\n>;\n\nexport function useDialog(props: UseDialogProps) {\n const { open, onOpenChange } = props;\n\n const { context, floating } = useFloatingUI({\n open,\n onOpenChange,\n });\n\n const click = useClick(context);\n const role = useRole(context);\n const dismiss = useDismiss(context);\n\n const { getFloatingProps, getReferenceProps } = useInteractions([\n role,\n dismiss,\n click,\n ]);\n\n return {\n getFloatingProps,\n getReferenceProps,\n floating,\n context,\n };\n}\n"],"names":[],"mappings":";;;AAYO,SAAS,UAAU,KAAuB,EAAA;AAC/C,EAAM,MAAA,EAAE,IAAM,EAAA,YAAA,EAAiB,GAAA,KAAA,CAAA;AAE/B,EAAA,MAAM,EAAE,OAAA,EAAS,QAAS,EAAA,GAAI,aAAc,CAAA;AAAA,IAC1C,IAAA;AAAA,IACA,YAAA;AAAA,GACD,CAAA,CAAA;AAED,EAAM,MAAA,KAAA,GAAQ,SAAS,OAAO,CAAA,CAAA;AAC9B,EAAM,MAAA,IAAA,GAAO,QAAQ,OAAO,CAAA,CAAA;AAC5B,EAAM,MAAA,OAAA,GAAU,WAAW,OAAO,CAAA,CAAA;AAElC,EAAA,MAAM,EAAE,gBAAA,EAAkB,iBAAkB,EAAA,GAAI,eAAgB,CAAA;AAAA,IAC9D,IAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,GACD,CAAA,CAAA;AAED,EAAO,OAAA;AAAA,IACL,gBAAA;AAAA,IACA,iBAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,GACF,CAAA;AACF;;;;"}
@@ -1,4 +0,0 @@
1
- var css_248z = ".saltParentChildItem-slide-top {\n animation: var(--salt-animation-slide-in-top);\n}\n.saltParentChildItem-slide-bottom {\n animation: var(--salt-animation-slide-in-bottom);\n}\n.saltParentChildItem-slide-left {\n animation: var(--salt-animation-slide-in-left);\n}\n.saltParentChildItem-slide-right {\n animation: var(--salt-animation-slide-in-right);\n}\n";
2
-
3
- export { css_248z as default };
4
- //# sourceMappingURL=ParentChildItem.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ParentChildItem.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,44 +0,0 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { forwardRef } from 'react';
3
- import { clsx } from 'clsx';
4
- import { makePrefixer, FlexItem } from '@salt-ds/core';
5
- import { useWindow } from '@salt-ds/window';
6
- import { useComponentCssInjection } from '@salt-ds/styles';
7
- import css_248z from './ParentChildItem.css.js';
8
-
9
- const withBaseName = makePrefixer("saltParentChildItem");
10
- const ParentChildItem = forwardRef(
11
- function ParentChildItem2({
12
- disableAnimations = false,
13
- direction,
14
- isStacked,
15
- children,
16
- className,
17
- ...rest
18
- }, ref) {
19
- const targetWindow = useWindow();
20
- useComponentCssInjection({
21
- testId: "salt-parent-child-item",
22
- css: css_248z,
23
- window: targetWindow
24
- });
25
- return /* @__PURE__ */ jsx(FlexItem, {
26
- className: clsx(
27
- withBaseName(),
28
- {
29
- ...direction && {
30
- [withBaseName(`slide-${direction}`)]: !disableAnimations
31
- },
32
- "saltFlexItem-stacked": isStacked
33
- },
34
- className
35
- ),
36
- ref,
37
- ...rest,
38
- children
39
- });
40
- }
41
- );
42
-
43
- export { ParentChildItem };
44
- //# sourceMappingURL=ParentChildItem.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ParentChildItem.js","sources":["../src/parent-child-item/ParentChildItem.tsx"],"sourcesContent":["import { forwardRef, HTMLAttributes } from \"react\";\nimport { clsx } from \"clsx\";\nimport {\n FlexItem,\n flexItemAlignment,\n makePrefixer,\n ResponsiveProp,\n} from \"@salt-ds/core\";\n\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport parentChildItemCss from \"./ParentChildItem.css\";\n\nexport type SlideDirection = \"top\" | \"bottom\" | \"left\" | \"right\";\n\nexport interface ParentChildItemProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Allows the alignment specified by parent to be overridden for individual items, default is \"start\".\n */\n align?: flexItemAlignment;\n /**\n * Disable all animations.\n */\n disableAnimations?: boolean;\n /**\n * Direction for slide animations.\n */\n direction?: SlideDirection;\n /**\n * Defines the ability for an item to grow x times more compared to it's siblings, default is 0.\n */\n grow?: ResponsiveProp<number>;\n /**\n * Determines whether the component is stacked\n */\n isStacked?: boolean;\n /**\n * Defines the ability for an item to shrink x times more compared to it's siblings, default is 1.\n\n */\n shrink?: ResponsiveProp<number>;\n}\n\nconst withBaseName = makePrefixer(\"saltParentChildItem\");\nexport const ParentChildItem = forwardRef<HTMLDivElement, ParentChildItemProps>(\n function ParentChildItem(\n {\n disableAnimations = false,\n direction,\n isStacked,\n children,\n className,\n ...rest\n },\n ref\n ) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-parent-child-item\",\n css: parentChildItemCss,\n window: targetWindow,\n });\n\n return (\n <FlexItem\n className={clsx(\n withBaseName(),\n {\n ...(direction && {\n [withBaseName(`slide-${direction}`)]: !disableAnimations,\n }),\n \"saltFlexItem-stacked\": isStacked,\n },\n className\n )}\n ref={ref}\n {...rest}\n >\n {children}\n </FlexItem>\n );\n }\n);\n"],"names":["ParentChildItem","parentChildItemCss"],"mappings":";;;;;;;;AA4CA,MAAM,YAAA,GAAe,aAAa,qBAAqB,CAAA,CAAA;AAChD,MAAM,eAAkB,GAAA,UAAA;AAAA,EAC7B,SAASA,gBACP,CAAA;AAAA,IACE,iBAAoB,GAAA,KAAA;AAAA,IACpB,SAAA;AAAA,IACA,SAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,IACG,GAAA,IAAA;AAAA,KAEL,GACA,EAAA;AACA,IAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,IAAyB,wBAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,wBAAA;AAAA,MACR,GAAK,EAAAC,QAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAA,uBACG,GAAA,CAAA,QAAA,EAAA;AAAA,MACC,SAAW,EAAA,IAAA;AAAA,QACT,YAAa,EAAA;AAAA,QACb;AAAA,UACE,GAAI,SAAa,IAAA;AAAA,YACf,CAAC,YAAA,CAAa,CAAS,MAAA,EAAA,SAAA,CAAA,CAAW,IAAI,CAAC,iBAAA;AAAA,WACzC;AAAA,UACA,sBAAwB,EAAA,SAAA;AAAA,SAC1B;AAAA,QACA,SAAA;AAAA,OACF;AAAA,MACA,GAAA;AAAA,MACC,GAAG,IAAA;AAAA,MAEH,QAAA;AAAA,KACH,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -1,4 +0,0 @@
1
- var css_248z = ".saltCircularProgress {\n color: var(--salt-content-primary-foreground);\n display: inline-flex;\n position: relative;\n}\n\n.saltCircularProgress-progressValue {\n align-items: center;\n color: var(--salt-content-primary-foreground);\n display: flex;\n font-family: var(--salt-text-fontFamily);\n font-size: var(--salt-text-label-fontSize);\n font-weight: var(--salt-text-label-fontWeight-strong);\n height: 100%;\n justify-content: center;\n left: 0;\n position: absolute;\n width: 100%;\n}\n\n.saltCircularProgress-track {\n inline-size: calc(var(--salt-size-base) * 3);\n block-size: calc(var(--salt-size-base) * 3);\n border-style: var(--salt-track-borderStyle);\n border-width: var(--salt-size-bar-small);\n border-radius: calc(var(--salt-size-base) * 3);\n border-color: var(--salt-palette-neutral-secondary-border);\n}\n\n.saltCircularProgress-bar {\n inline-size: calc(var(--salt-size-base) * 3);\n block-size: calc(var(--salt-size-base) * 3);\n border-style: var(--salt-track-borderStyle);\n border-width: var(--salt-size-bar-strong);\n border-radius: calc(var(--salt-size-base) * 3);\n border-color: var(--salt-accent-background);\n}\n\n.saltCircularProgress-bars {\n position: absolute;\n inset-block-start: 0;\n inset-inline-start: 0;\n inline-size: 100%;\n block-size: 100%;\n}\n\n.saltCircularProgress-barOverlayRight,\n.saltCircularProgress-barOverlayLeft {\n inline-size: 50%;\n block-size: 100%;\n transform-origin: 100% center;\n transform: rotate(180deg);\n overflow: hidden;\n position: absolute;\n}\n\n.saltCircularProgress-barSubOverlayRight,\n.saltCircularProgress-barSubOverlayLeft {\n inline-size: 100%;\n block-size: 100%;\n transform-origin: 100% center;\n overflow: hidden;\n transform: rotate(-180deg);\n}\n\n.saltCircularProgress-barOverlayLeft {\n transform: rotate(0deg);\n}\n";
2
-
3
- export { css_248z as default };
4
- //# sourceMappingURL=CircularProgress.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CircularProgress.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}