@salt-ds/core 1.18.1 → 1.20.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 (143) hide show
  1. package/css/salt-core.css +351 -10
  2. package/dist-cjs/avatar/Avatar.css.js +1 -1
  3. package/dist-cjs/badge/Badge.css.js +1 -1
  4. package/dist-cjs/banner/Banner.css.js +1 -1
  5. package/dist-cjs/button/Button.css.js +1 -1
  6. package/dist-cjs/card/Card.css.js +1 -1
  7. package/dist-cjs/card/InteractableCard.css.js +1 -1
  8. package/dist-cjs/checkbox/CheckboxIcon.css.js +1 -1
  9. package/dist-cjs/dialog/Dialog.css.js +6 -0
  10. package/dist-cjs/dialog/Dialog.css.js.map +1 -0
  11. package/dist-cjs/dialog/Dialog.js +120 -0
  12. package/dist-cjs/dialog/Dialog.js.map +1 -0
  13. package/dist-cjs/dialog/DialogActions.css.js +6 -0
  14. package/dist-cjs/dialog/DialogActions.css.js.map +1 -0
  15. package/dist-cjs/dialog/DialogActions.js +37 -0
  16. package/dist-cjs/dialog/DialogActions.js.map +1 -0
  17. package/dist-cjs/dialog/DialogCloseButton.css.js +6 -0
  18. package/dist-cjs/dialog/DialogCloseButton.css.js.map +1 -0
  19. package/dist-cjs/dialog/DialogCloseButton.js +44 -0
  20. package/dist-cjs/dialog/DialogCloseButton.js.map +1 -0
  21. package/dist-cjs/dialog/DialogContent.css.js +6 -0
  22. package/dist-cjs/dialog/DialogContent.css.js.map +1 -0
  23. package/dist-cjs/dialog/DialogContent.js +49 -0
  24. package/dist-cjs/dialog/DialogContent.js.map +1 -0
  25. package/dist-cjs/dialog/DialogContext.js +17 -0
  26. package/dist-cjs/dialog/DialogContext.js.map +1 -0
  27. package/dist-cjs/dialog/DialogHeader.css.js +6 -0
  28. package/dist-cjs/dialog/DialogHeader.css.js.map +1 -0
  29. package/dist-cjs/dialog/DialogHeader.js +79 -0
  30. package/dist-cjs/dialog/DialogHeader.js.map +1 -0
  31. package/dist-cjs/drawer/Drawer.css.js +6 -0
  32. package/dist-cjs/drawer/Drawer.css.js.map +1 -0
  33. package/dist-cjs/drawer/Drawer.js +110 -0
  34. package/dist-cjs/drawer/Drawer.js.map +1 -0
  35. package/dist-cjs/drawer/DrawerCloseButton.css.js +6 -0
  36. package/dist-cjs/drawer/DrawerCloseButton.css.js.map +1 -0
  37. package/dist-cjs/drawer/DrawerCloseButton.js +49 -0
  38. package/dist-cjs/drawer/DrawerCloseButton.js.map +1 -0
  39. package/dist-cjs/file-drop-zone/FileDropZone.css.js +1 -1
  40. package/dist-cjs/index.js +23 -0
  41. package/dist-cjs/index.js.map +1 -1
  42. package/dist-cjs/link/Link.css.js +1 -1
  43. package/dist-cjs/link-card/LinkCard.css.js +6 -0
  44. package/dist-cjs/link-card/LinkCard.css.js.map +1 -0
  45. package/dist-cjs/link-card/LinkCard.js +54 -0
  46. package/dist-cjs/link-card/LinkCard.js.map +1 -0
  47. package/dist-cjs/multiline-input/MultilineInput.css.js +1 -1
  48. package/dist-cjs/navigation-item/NavigationItem.css.js +1 -1
  49. package/dist-cjs/panel/Panel.css.js +1 -1
  50. package/dist-cjs/pill/Pill.css.js +1 -1
  51. package/dist-cjs/salt-provider/SaltProvider.js +80 -14
  52. package/dist-cjs/salt-provider/SaltProvider.js.map +1 -1
  53. package/dist-cjs/switch/Switch.css.js +1 -1
  54. package/dist-cjs/theme/Corner.js +8 -0
  55. package/dist-cjs/theme/Corner.js.map +1 -0
  56. package/dist-cjs/toast/Toast.css.js +1 -1
  57. package/dist-cjs/toggle-button/ToggleButton.css.js +1 -1
  58. package/dist-cjs/toggle-button-group/ToggleButtonGroup.css.js +1 -1
  59. package/dist-cjs/tooltip/Tooltip.css.js +1 -1
  60. package/dist-cjs/tooltip/useTooltip.js +5 -2
  61. package/dist-cjs/tooltip/useTooltip.js.map +1 -1
  62. package/dist-cjs/utils/useFloatingUI/useFloatingUI.js +4 -2
  63. package/dist-cjs/utils/useFloatingUI/useFloatingUI.js.map +1 -1
  64. package/dist-es/avatar/Avatar.css.js +1 -1
  65. package/dist-es/badge/Badge.css.js +1 -1
  66. package/dist-es/banner/Banner.css.js +1 -1
  67. package/dist-es/button/Button.css.js +1 -1
  68. package/dist-es/card/Card.css.js +1 -1
  69. package/dist-es/card/InteractableCard.css.js +1 -1
  70. package/dist-es/checkbox/CheckboxIcon.css.js +1 -1
  71. package/dist-es/dialog/Dialog.css.js +4 -0
  72. package/dist-es/dialog/Dialog.css.js.map +1 -0
  73. package/dist-es/dialog/Dialog.js +115 -0
  74. package/dist-es/dialog/Dialog.js.map +1 -0
  75. package/dist-es/dialog/DialogActions.css.js +4 -0
  76. package/dist-es/dialog/DialogActions.css.js.map +1 -0
  77. package/dist-es/dialog/DialogActions.js +33 -0
  78. package/dist-es/dialog/DialogActions.js.map +1 -0
  79. package/dist-es/dialog/DialogCloseButton.css.js +4 -0
  80. package/dist-es/dialog/DialogCloseButton.css.js.map +1 -0
  81. package/dist-es/dialog/DialogCloseButton.js +36 -0
  82. package/dist-es/dialog/DialogCloseButton.js.map +1 -0
  83. package/dist-es/dialog/DialogContent.css.js +4 -0
  84. package/dist-es/dialog/DialogContent.css.js.map +1 -0
  85. package/dist-es/dialog/DialogContent.js +45 -0
  86. package/dist-es/dialog/DialogContent.js.map +1 -0
  87. package/dist-es/dialog/DialogContext.js +12 -0
  88. package/dist-es/dialog/DialogContext.js.map +1 -0
  89. package/dist-es/dialog/DialogHeader.css.js +4 -0
  90. package/dist-es/dialog/DialogHeader.css.js.map +1 -0
  91. package/dist-es/dialog/DialogHeader.js +71 -0
  92. package/dist-es/dialog/DialogHeader.js.map +1 -0
  93. package/dist-es/drawer/Drawer.css.js +4 -0
  94. package/dist-es/drawer/Drawer.css.js.map +1 -0
  95. package/dist-es/drawer/Drawer.js +106 -0
  96. package/dist-es/drawer/Drawer.js.map +1 -0
  97. package/dist-es/drawer/DrawerCloseButton.css.js +4 -0
  98. package/dist-es/drawer/DrawerCloseButton.css.js.map +1 -0
  99. package/dist-es/drawer/DrawerCloseButton.js +41 -0
  100. package/dist-es/drawer/DrawerCloseButton.js.map +1 -0
  101. package/dist-es/file-drop-zone/FileDropZone.css.js +1 -1
  102. package/dist-es/index.js +11 -1
  103. package/dist-es/index.js.map +1 -1
  104. package/dist-es/link/Link.css.js +1 -1
  105. package/dist-es/link-card/LinkCard.css.js +4 -0
  106. package/dist-es/link-card/LinkCard.css.js.map +1 -0
  107. package/dist-es/link-card/LinkCard.js +50 -0
  108. package/dist-es/link-card/LinkCard.js.map +1 -0
  109. package/dist-es/multiline-input/MultilineInput.css.js +1 -1
  110. package/dist-es/navigation-item/NavigationItem.css.js +1 -1
  111. package/dist-es/panel/Panel.css.js +1 -1
  112. package/dist-es/pill/Pill.css.js +1 -1
  113. package/dist-es/salt-provider/SaltProvider.js +80 -15
  114. package/dist-es/salt-provider/SaltProvider.js.map +1 -1
  115. package/dist-es/switch/Switch.css.js +1 -1
  116. package/dist-es/theme/Corner.js +4 -0
  117. package/dist-es/theme/Corner.js.map +1 -0
  118. package/dist-es/toast/Toast.css.js +1 -1
  119. package/dist-es/toggle-button/ToggleButton.css.js +1 -1
  120. package/dist-es/toggle-button-group/ToggleButtonGroup.css.js +1 -1
  121. package/dist-es/tooltip/Tooltip.css.js +1 -1
  122. package/dist-es/tooltip/useTooltip.js +6 -3
  123. package/dist-es/tooltip/useTooltip.js.map +1 -1
  124. package/dist-es/utils/useFloatingUI/useFloatingUI.js +5 -3
  125. package/dist-es/utils/useFloatingUI/useFloatingUI.js.map +1 -1
  126. package/dist-types/dialog/Dialog.d.ts +46 -0
  127. package/dist-types/dialog/DialogActions.d.ts +8 -0
  128. package/dist-types/dialog/DialogCloseButton.d.ts +2 -0
  129. package/dist-types/dialog/DialogContent.d.ts +8 -0
  130. package/dist-types/dialog/DialogContext.d.ts +8 -0
  131. package/dist-types/dialog/DialogHeader.d.ts +22 -0
  132. package/dist-types/dialog/index.d.ts +6 -0
  133. package/dist-types/drawer/Drawer.d.ts +28 -0
  134. package/dist-types/drawer/DrawerCloseButton.d.ts +2 -0
  135. package/dist-types/drawer/index.d.ts +2 -0
  136. package/dist-types/index.d.ts +3 -0
  137. package/dist-types/link-card/LinkCard.d.ts +12 -0
  138. package/dist-types/link-card/index.d.ts +1 -0
  139. package/dist-types/salt-provider/SaltProvider.d.ts +9 -0
  140. package/dist-types/theme/Corner.d.ts +2 -0
  141. package/dist-types/theme/index.d.ts +1 -0
  142. package/dist-types/utils/useFloatingUI/useFloatingUI.d.ts +2 -3
  143. package/package.json +1 -1
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var css_248z = "/* Styles applied to Dialog component */\n.saltDialog {\n position: fixed;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n margin: auto;\n display: flex;\n flex-direction: column;\n padding-top: var(--salt-spacing-300);\n padding-bottom: var(--salt-spacing-300);\n background: var(--salt-container-primary-background);\n box-shadow: var(--salt-overlayable-shadow-modal);\n overflow-y: auto;\n z-index: var(--salt-zIndex-drawer);\n height: min-content;\n border: var(--salt-container-borderStyle) var(--salt-separable-tertiary-borderColor) var(--salt-size-border);\n box-sizing: border-box;\n border-radius: var(--salt-palette-corner, 0);\n}\n\n/* Styles applied to Dialog when a status=\"info\" */\n.saltDialog-info {\n border-color: var(--salt-status-info-borderColor);\n}\n\n/* Styles applied to Dialog when a status=\"error\" */\n.saltDialog-error {\n border-color: var(--salt-status-error-borderColor);\n}\n\n/* Styles applied to Dialog when a status=\"warning\" */\n.saltDialog-warning {\n border-color: var(--salt-status-warning-borderColor);\n}\n\n/* Styles applied to Dialog when a status=\"success\" */\n.saltDialog-success {\n border-color: var(--salt-status-success-borderColor);\n}\n\n/* Styles applied when the component mounts */\n.saltDialog.saltDialog-enterAnimation {\n animation: var(--salt-animation-fade-in-center);\n}\n\n/* Styles applied when the component unmounts */\n.saltDialog.saltDialog-exitAnimation {\n animation: var(--salt-animation-fade-out-back);\n}\n\n/* Pending design decision on heights and widths */\n.saltDialog-small-xs {\n width: 100%;\n max-height: 48%;\n}\n\n.saltDialog-small-sm {\n width: 56%;\n max-height: 48%;\n}\n\n.saltDialog-small-md {\n width: 36%;\n max-height: 48%;\n}\n\n.saltDialog-small-lg {\n width: 24%;\n max-height: 48%;\n}\n\n.saltDialog-small-xl {\n width: 24%;\n max-height: 48%;\n}\n\n.saltDialog-medium-xs {\n width: 100%;\n max-height: 72%;\n}\n\n.saltDialog-medium-sm {\n width: 84%;\n max-height: 72%;\n}\n\n.saltDialog-medium-md {\n width: 68%;\n max-height: 72%;\n}\n\n.saltDialog-medium-lg {\n width: 48%;\n max-height: 72%;\n}\n\n.saltDialog-medium-xl {\n width: 48%;\n max-height: 72%;\n}\n\n.saltDialog-large-xs {\n width: 100%;\n max-height: 84%;\n}\n\n.saltDialog-large-sm {\n width: 96%;\n max-height: 84%;\n}\n\n.saltDialog-large-md {\n width: 84%;\n max-height: 84%;\n}\n\n.saltDialog-large-lg {\n width: 72%;\n max-height: 84%;\n}\n\n.saltDialog-large-xl {\n width: 72%;\n max-height: 84%;\n}\n";
4
+
5
+ module.exports = css_248z;
6
+ //# sourceMappingURL=Dialog.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dialog.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,120 @@
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 react = require('@floating-ui/react');
9
+ var makePrefixer = require('../utils/makePrefixer.js');
10
+ var useFloatingUI = require('../utils/useFloatingUI/useFloatingUI.js');
11
+ var useForkRef = require('../utils/useForkRef.js');
12
+ var useId = require('../utils/useId.js');
13
+ var useResponsiveProp = require('../utils/useResponsiveProp.js');
14
+ var Scrim = require('../scrim/Scrim.js');
15
+ var window = require('@salt-ds/window');
16
+ var styles = require('@salt-ds/styles');
17
+ var Dialog$1 = require('./Dialog.css.js');
18
+ var DialogContext = require('./DialogContext.js');
19
+
20
+ const ConditionalScrimWrapper = ({
21
+ condition,
22
+ children
23
+ }) => {
24
+ return condition ? /* @__PURE__ */ jsxRuntime.jsx(Scrim.Scrim, {
25
+ fixed: true,
26
+ children
27
+ }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
28
+ children: [
29
+ children,
30
+ " "
31
+ ]
32
+ });
33
+ };
34
+ const withBaseName = makePrefixer.makePrefixer("saltDialog");
35
+ const Dialog = React.forwardRef(function Dialog2(props, ref) {
36
+ var _a, _b;
37
+ const {
38
+ children,
39
+ className,
40
+ open = false,
41
+ onOpenChange,
42
+ status,
43
+ disableDismiss,
44
+ size = "medium",
45
+ disableScrim,
46
+ idProp,
47
+ ...rest
48
+ } = props;
49
+ const targetWindow = window.useWindow();
50
+ styles.useComponentCssInjection({
51
+ testId: "salt-dialog",
52
+ css: Dialog$1,
53
+ window: targetWindow
54
+ });
55
+ const id = useId.useId(idProp);
56
+ const currentbreakpoint = useResponsiveProp.useCurrentBreakpoint();
57
+ const [showComponent, setShowComponent] = React.useState(false);
58
+ const { context, floating, elements } = useFloatingUI.useFloatingUI({
59
+ open,
60
+ onOpenChange
61
+ });
62
+ const { getFloatingProps } = react.useInteractions([
63
+ react.useClick(context),
64
+ react.useDismiss(context, { enabled: !disableDismiss })
65
+ ]);
66
+ const { Component: FloatingComponent } = useFloatingUI.useFloatingComponent();
67
+ const floatingRef = useForkRef.useForkRef(floating, ref);
68
+ React.useEffect(() => {
69
+ if (open && !showComponent) {
70
+ setShowComponent(true);
71
+ }
72
+ if (!open && showComponent) {
73
+ const animate = setTimeout(() => {
74
+ setShowComponent(false);
75
+ }, 300);
76
+ return () => clearTimeout(animate);
77
+ }
78
+ }, [open, showComponent, setShowComponent]);
79
+ const contextValue = React.useMemo(() => ({ status, id }), [status, id]);
80
+ return /* @__PURE__ */ jsxRuntime.jsx(DialogContext.DialogContext.Provider, {
81
+ value: contextValue,
82
+ children: /* @__PURE__ */ jsxRuntime.jsx(ConditionalScrimWrapper, {
83
+ condition: open && !disableScrim,
84
+ children: /* @__PURE__ */ jsxRuntime.jsx(FloatingComponent, {
85
+ open: showComponent,
86
+ role: "dialog",
87
+ "aria-modal": "true",
88
+ "aria-labelledby": id,
89
+ ref: floatingRef,
90
+ width: (_a = elements.floating) == null ? void 0 : _a.offsetWidth,
91
+ height: (_b = elements.floating) == null ? void 0 : _b.offsetHeight,
92
+ focusManagerProps: {
93
+ context
94
+ },
95
+ className: clsx.clsx(
96
+ withBaseName(),
97
+ withBaseName(size, currentbreakpoint),
98
+ {
99
+ [withBaseName("enterAnimation")]: open,
100
+ [withBaseName("exitAnimation")]: !open,
101
+ [withBaseName(status)]: status
102
+ },
103
+ className
104
+ ),
105
+ onAnimationEnd: () => {
106
+ if (!open && showComponent) {
107
+ setShowComponent(false);
108
+ }
109
+ },
110
+ ...getFloatingProps(),
111
+ ...rest,
112
+ children
113
+ })
114
+ })
115
+ });
116
+ });
117
+
118
+ exports.ConditionalScrimWrapper = ConditionalScrimWrapper;
119
+ exports.Dialog = Dialog;
120
+ //# sourceMappingURL=Dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dialog.js","sources":["../src/dialog/Dialog.tsx"],"sourcesContent":["import {\n forwardRef,\n HTMLAttributes,\n useEffect,\n useMemo,\n useState,\n ComponentProps,\n ReactNode,\n} from \"react\";\nimport { clsx } from \"clsx\";\nimport {\n FloatingFocusManager,\n useClick,\n useDismiss,\n useInteractions,\n} from \"@floating-ui/react\";\nimport {\n makePrefixer,\n useFloatingComponent,\n useFloatingUI,\n useCurrentBreakpoint,\n useForkRef,\n useId,\n} from \"../utils\";\nimport { Scrim } from \"../scrim\";\nimport { ValidationStatus } from \"../status-indicator\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport dialogCss from \"./Dialog.css\";\nimport { DialogContext } from \"./DialogContext\";\n\ninterface ConditionalScrimWrapperProps {\n children?: ReactNode;\n condition: boolean;\n}\n\nexport const ConditionalScrimWrapper = ({\n condition,\n children,\n}: ConditionalScrimWrapperProps) => {\n return condition ? <Scrim fixed>{children}</Scrim> : <>{children} </>;\n};\n\nexport interface DialogProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Display or hide the component.\n */\n open?: boolean;\n /**\n * Callback function triggered when open state changes.\n */\n onOpenChange?: (open: boolean) => void;\n /**\n * The status of the Dialog\n * */\n status?: ValidationStatus;\n /**\n * Which element to initially focus. Can be either a number (tabbable index as specified by the order) or a ref.\n * Default value is 0 (first tabbable element).\n * */\n initialFocus?: ComponentProps<typeof FloatingFocusManager>[\"initialFocus\"];\n /**\n * Size of the Dialog\n * */\n size?: \"small\" | \"medium\" | \"large\";\n /**\n * Prevent the dialog closing on click away\n * */\n disableDismiss?: boolean;\n /**\n * Prevent Scrim from rendering\n * */\n disableScrim?: boolean;\n /**\n * Optional id prop\n * Used for accessibility purposes to announce the title and subtitle when using a screen reader\n * */\n idProp?: string;\n}\n\nconst withBaseName = makePrefixer(\"saltDialog\");\n\nexport const Dialog = forwardRef<HTMLDivElement, DialogProps>(function Dialog(\n props,\n ref\n) {\n const {\n children,\n className,\n open = false,\n onOpenChange,\n status,\n disableDismiss,\n size = \"medium\",\n disableScrim,\n idProp,\n ...rest\n } = props;\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-dialog\",\n css: dialogCss,\n window: targetWindow,\n });\n\n const id = useId(idProp);\n\n const currentbreakpoint = useCurrentBreakpoint();\n\n const [showComponent, setShowComponent] = useState(false);\n\n const { context, floating, elements } = useFloatingUI({\n open,\n onOpenChange,\n });\n\n const { getFloatingProps } = useInteractions([\n useClick(context),\n useDismiss(context, { enabled: !disableDismiss }),\n ]);\n\n const { Component: FloatingComponent } = useFloatingComponent();\n\n const floatingRef = useForkRef<HTMLDivElement>(floating, ref);\n\n useEffect(() => {\n if (open && !showComponent) {\n setShowComponent(true);\n }\n\n if (!open && showComponent) {\n const animate = setTimeout(() => {\n setShowComponent(false);\n }, 300); // var(--salt-duration-perceptible)\n return () => clearTimeout(animate);\n }\n }, [open, showComponent, setShowComponent]);\n\n const contextValue = useMemo(() => ({ status, id }), [status, id]);\n\n return (\n <DialogContext.Provider value={contextValue}>\n <ConditionalScrimWrapper condition={open && !disableScrim}>\n <FloatingComponent\n open={showComponent}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={id}\n ref={floatingRef}\n width={elements.floating?.offsetWidth}\n height={elements.floating?.offsetHeight}\n focusManagerProps={{\n context: context,\n }}\n className={clsx(\n withBaseName(),\n withBaseName(size, currentbreakpoint),\n {\n [withBaseName(\"enterAnimation\")]: open,\n [withBaseName(\"exitAnimation\")]: !open,\n [withBaseName(status as string)]: status,\n },\n className\n )}\n onAnimationEnd={() => {\n if (!open && showComponent) {\n setShowComponent(false);\n }\n }}\n {...getFloatingProps()}\n {...rest}\n >\n {children}\n </FloatingComponent>\n </ConditionalScrimWrapper>\n </DialogContext.Provider>\n );\n});\n"],"names":["jsx","Scrim","jsxs","Fragment","makePrefixer","forwardRef","Dialog","useWindow","useComponentCssInjection","dialogCss","useId","useCurrentBreakpoint","useState","useFloatingUI","useInteractions","useClick","useDismiss","useFloatingComponent","useForkRef","useEffect","useMemo","DialogContext","clsx"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var css_248z = ".saltDialogActions {\n padding: var(--salt-spacing-300);\n padding-bottom: 0;\n display: flex;\n justify-content: flex-end;\n gap: var(--salt-spacing-100);\n}\n";
4
+
5
+ module.exports = css_248z;
6
+ //# sourceMappingURL=DialogActions.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DialogActions.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,37 @@
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 makePrefixer = require('../utils/makePrefixer.js');
9
+ require('../utils/useFloatingUI/useFloatingUI.js');
10
+ require('../utils/useId.js');
11
+ require('../salt-provider/SaltProvider.js');
12
+ require('../viewport/ViewportProvider.js');
13
+ var window = require('@salt-ds/window');
14
+ var styles = require('@salt-ds/styles');
15
+ var DialogActions$1 = require('./DialogActions.css.js');
16
+
17
+ const withBaseName = makePrefixer.makePrefixer("saltDialogActions");
18
+ const DialogActions = React.forwardRef(
19
+ function DialogActions2(props, ref) {
20
+ const { children, className, ...rest } = props;
21
+ const targetWindow = window.useWindow();
22
+ styles.useComponentCssInjection({
23
+ testId: "salt-dialog-actions",
24
+ css: DialogActions$1,
25
+ window: targetWindow
26
+ });
27
+ return /* @__PURE__ */ jsxRuntime.jsx("div", {
28
+ className: clsx.clsx(withBaseName(), className),
29
+ ...rest,
30
+ ref,
31
+ children
32
+ });
33
+ }
34
+ );
35
+
36
+ exports.DialogActions = DialogActions;
37
+ //# sourceMappingURL=DialogActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DialogActions.js","sources":["../src/dialog/DialogActions.tsx"],"sourcesContent":["import { forwardRef, HTMLAttributes, ReactNode } from \"react\";\nimport { clsx } from \"clsx\";\nimport { makePrefixer } from \"../utils\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport dialogActionsCss from \"./DialogActions.css\";\n\nconst withBaseName = makePrefixer(\"saltDialogActions\");\n\nexport interface DialogActionsProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * The content of Dialog Actions\n */\n children?: ReactNode;\n}\n\nexport const DialogActions = forwardRef<HTMLDivElement, DialogActionsProps>(\n function DialogActions(props, ref) {\n const { children, className, ...rest } = props;\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-dialog-actions\",\n css: dialogActionsCss,\n window: targetWindow,\n });\n\n return (\n <div className={clsx(withBaseName(), className)} {...rest} ref={ref}>\n {children}\n </div>\n );\n }\n);\n"],"names":["makePrefixer","forwardRef","DialogActions","useWindow","useComponentCssInjection","dialogActionsCss","jsx","clsx"],"mappings":";;;;;;;;;;;;;;;;AAQA,MAAM,YAAA,GAAeA,0BAAa,mBAAmB,CAAA,CAAA;AAS9C,MAAM,aAAgB,GAAAC,gBAAA;AAAA,EAC3B,SAASC,cAAc,CAAA,KAAA,EAAO,GAAK,EAAA;AACjC,IAAA,MAAM,EAAE,QAAA,EAAU,SAAc,EAAA,GAAA,IAAA,EAAS,GAAA,KAAA,CAAA;AACzC,IAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,IAAyBC,+BAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,qBAAA;AAAA,MACR,GAAK,EAAAC,eAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAA,uBACGC,cAAA,CAAA,KAAA,EAAA;AAAA,MAAI,SAAW,EAAAC,SAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MAAI,GAAG,IAAA;AAAA,MAAM,GAAA;AAAA,MACxD,QAAA;AAAA,KACH,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var css_248z = ".saltButton.saltDialogCloseButton {\n position: absolute;\n top: 0;\n right: 0;\n}\n";
4
+
5
+ module.exports = css_248z;
6
+ //# sourceMappingURL=DialogCloseButton.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DialogCloseButton.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,44 @@
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 Button = require('../button/Button.js');
9
+ var makePrefixer = require('../utils/makePrefixer.js');
10
+ require('../utils/useFloatingUI/useFloatingUI.js');
11
+ require('../utils/useId.js');
12
+ require('../salt-provider/SaltProvider.js');
13
+ require('../viewport/ViewportProvider.js');
14
+ var window = require('@salt-ds/window');
15
+ var styles = require('@salt-ds/styles');
16
+ var icons = require('@salt-ds/icons');
17
+ var DialogCloseButton$1 = require('./DialogCloseButton.css.js');
18
+
19
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
20
+
21
+ var clsx__default = /*#__PURE__*/_interopDefaultLegacy(clsx);
22
+
23
+ const withBaseName = makePrefixer.makePrefixer("saltDialogCloseButton");
24
+ const DialogCloseButton = React.forwardRef(
25
+ function DialogCloseButton2({ className, ...rest }, ref) {
26
+ const targetWindow = window.useWindow();
27
+ styles.useComponentCssInjection({
28
+ testId: "salt-dialog-close-button",
29
+ css: DialogCloseButton$1,
30
+ window: targetWindow
31
+ });
32
+ return /* @__PURE__ */ jsxRuntime.jsx(Button.Button, {
33
+ ref,
34
+ "aria-label": "Close dialog",
35
+ variant: "secondary",
36
+ className: clsx__default["default"](withBaseName(), className),
37
+ ...rest,
38
+ children: /* @__PURE__ */ jsxRuntime.jsx(icons.CloseIcon, {})
39
+ });
40
+ }
41
+ );
42
+
43
+ exports.DialogCloseButton = DialogCloseButton;
44
+ //# sourceMappingURL=DialogCloseButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DialogCloseButton.js","sources":["../src/dialog/DialogCloseButton.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport clsx from \"clsx\";\nimport { Button, ButtonProps } from \"../button\";\nimport { makePrefixer } from \"../utils\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { CloseIcon } from \"@salt-ds/icons\";\n\nimport dialogCloseButtonCss from \"./DialogCloseButton.css\";\n\nconst withBaseName = makePrefixer(\"saltDialogCloseButton\");\n\nexport const DialogCloseButton = forwardRef<HTMLButtonElement, ButtonProps>(\n function DialogCloseButton({ className, ...rest }, ref) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-dialog-close-button\",\n css: dialogCloseButtonCss,\n window: targetWindow,\n });\n\n return (\n <Button\n ref={ref}\n aria-label=\"Close dialog\"\n variant=\"secondary\"\n className={clsx(withBaseName(), className)}\n {...rest}\n >\n <CloseIcon />\n </Button>\n );\n }\n);\n"],"names":["makePrefixer","forwardRef","DialogCloseButton","useWindow","useComponentCssInjection","dialogCloseButtonCss","jsx","Button","clsx","CloseIcon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAUA,MAAM,YAAA,GAAeA,0BAAa,uBAAuB,CAAA,CAAA;AAElD,MAAM,iBAAoB,GAAAC,gBAAA;AAAA,EAC/B,SAASC,kBAAkB,CAAA,EAAE,SAAc,EAAA,GAAA,IAAA,IAAQ,GAAK,EAAA;AACtD,IAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,IAAyBC,+BAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,0BAAA;AAAA,MACR,GAAK,EAAAC,mBAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAA,uBACGC,cAAA,CAAAC,aAAA,EAAA;AAAA,MACC,GAAA;AAAA,MACA,YAAW,EAAA,cAAA;AAAA,MACX,OAAQ,EAAA,WAAA;AAAA,MACR,SAAW,EAAAC,wBAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MACxC,GAAG,IAAA;AAAA,MAEJ,yCAACC,eAAU,EAAA,EAAA,CAAA;AAAA,KACb,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var css_248z = ".saltDialogContent {\n color: var(--salt-content-primary-foreground);\n min-height: var(--salt-text-lineHeight);\n overflow-y: auto;\n background: var(--salt-container-primary-background);\n padding-bottom: var(--salt-spacing-50);\n\n margin-left: var(--salt-spacing-200);\n margin-right: var(--salt-spacing-300);\n padding-right: var(--salt-spacing-300);\n padding-left: var(--salt-spacing-100);\n border-bottom: var(--salt-size-border) var(--salt-separable-borderStyle) transparent;\n box-shadow: none;\n}\n\n.saltDialogContent-scroll {\n border-bottom: var(--salt-size-border) var(--salt-separable-borderStyle) var(--salt-separable-tertiary-borderColor);\n box-shadow: var(--salt-overlayable-shadow-scroll);\n}\n";
4
+
5
+ module.exports = css_248z;
6
+ //# sourceMappingURL=DialogContent.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DialogContent.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,49 @@
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 makePrefixer = require('../utils/makePrefixer.js');
9
+ require('../utils/useFloatingUI/useFloatingUI.js');
10
+ require('../utils/useId.js');
11
+ require('../salt-provider/SaltProvider.js');
12
+ require('../viewport/ViewportProvider.js');
13
+ var window = require('@salt-ds/window');
14
+ var styles = require('@salt-ds/styles');
15
+ var DialogContent$1 = require('./DialogContent.css.js');
16
+
17
+ const withBaseName = makePrefixer.makePrefixer("saltDialogContent");
18
+ const DialogContent = React.forwardRef(
19
+ function DialogContent2(props, ref) {
20
+ const { children, className, ...rest } = props;
21
+ const [scrollTop, setScrollTop] = React.useState(0);
22
+ const handleScroll = (event) => {
23
+ setScrollTop(event.currentTarget.scrollTop);
24
+ };
25
+ const targetWindow = window.useWindow();
26
+ styles.useComponentCssInjection({
27
+ testId: "salt-dialog-content",
28
+ css: DialogContent$1,
29
+ window: targetWindow
30
+ });
31
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
32
+ children: [
33
+ /* @__PURE__ */ jsxRuntime.jsx("div", {
34
+ className: clsx.clsx({ [withBaseName("scroll")]: scrollTop > 0 })
35
+ }),
36
+ /* @__PURE__ */ jsxRuntime.jsx("div", {
37
+ className: clsx.clsx(withBaseName(), className),
38
+ onScroll: handleScroll,
39
+ ...rest,
40
+ ref,
41
+ children
42
+ })
43
+ ]
44
+ });
45
+ }
46
+ );
47
+
48
+ exports.DialogContent = DialogContent;
49
+ //# sourceMappingURL=DialogContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DialogContent.js","sources":["../src/dialog/DialogContent.tsx"],"sourcesContent":["import { forwardRef, HTMLAttributes, ReactNode, useState } from \"react\";\nimport { clsx } from \"clsx\";\nimport { makePrefixer } from \"../utils\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport dialogContentCss from \"./DialogContent.css\";\n\nconst withBaseName = makePrefixer(\"saltDialogContent\");\n\nexport interface DialogContentProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * The content of Dialog Content\n */\n children?: ReactNode;\n}\n\nexport const DialogContent = forwardRef<HTMLDivElement, DialogContentProps>(\n function DialogContent(props, ref) {\n const { children, className, ...rest } = props;\n const [scrollTop, setScrollTop] = useState(0);\n\n const handleScroll = (event: React.UIEvent<HTMLElement>) => {\n setScrollTop(event.currentTarget.scrollTop);\n };\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-dialog-content\",\n css: dialogContentCss,\n window: targetWindow,\n });\n\n return (\n <>\n <div className={clsx({ [withBaseName(\"scroll\")]: scrollTop > 0 })} />\n <div\n className={clsx(withBaseName(), className)}\n onScroll={handleScroll}\n {...rest}\n ref={ref}\n >\n {children}\n </div>\n </>\n );\n }\n);\n"],"names":["makePrefixer","forwardRef","DialogContent","useState","useWindow","useComponentCssInjection","dialogContentCss","jsxs","Fragment","jsx","clsx"],"mappings":";;;;;;;;;;;;;;;;AAQA,MAAM,YAAA,GAAeA,0BAAa,mBAAmB,CAAA,CAAA;AAS9C,MAAM,aAAgB,GAAAC,gBAAA;AAAA,EAC3B,SAASC,cAAc,CAAA,KAAA,EAAO,GAAK,EAAA;AACjC,IAAA,MAAM,EAAE,QAAA,EAAU,SAAc,EAAA,GAAA,IAAA,EAAS,GAAA,KAAA,CAAA;AACzC,IAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAIC,eAAS,CAAC,CAAA,CAAA;AAE5C,IAAM,MAAA,YAAA,GAAe,CAAC,KAAsC,KAAA;AAC1D,MAAa,YAAA,CAAA,KAAA,CAAM,cAAc,SAAS,CAAA,CAAA;AAAA,KAC5C,CAAA;AAEA,IAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,IAAyBC,+BAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,qBAAA;AAAA,MACR,GAAK,EAAAC,eAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IACE,uBAAAC,eAAA,CAAAC,mBAAA,EAAA;AAAA,MACE,QAAA,EAAA;AAAA,wBAACC,cAAA,CAAA,KAAA,EAAA;AAAA,UAAI,SAAA,EAAWC,UAAK,EAAE,CAAC,aAAa,QAAQ,CAAA,GAAI,SAAY,GAAA,CAAA,EAAG,CAAA;AAAA,SAAG,CAAA;AAAA,wBAClED,cAAA,CAAA,KAAA,EAAA;AAAA,UACC,SAAW,EAAAC,SAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,UACzC,QAAU,EAAA,YAAA;AAAA,UACT,GAAG,IAAA;AAAA,UACJ,GAAA;AAAA,UAEC,QAAA;AAAA,SACH,CAAA;AAAA,OAAA;AAAA,KACF,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+
7
+ const DialogContext = React.createContext({
8
+ status: void 0,
9
+ id: ""
10
+ });
11
+ const useDialogContext = () => {
12
+ return React.useContext(DialogContext);
13
+ };
14
+
15
+ exports.DialogContext = DialogContext;
16
+ exports.useDialogContext = useDialogContext;
17
+ //# sourceMappingURL=DialogContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DialogContext.js","sources":["../src/dialog/DialogContext.tsx"],"sourcesContent":["import { createContext, useContext } from \"react\";\nimport { ValidationStatus } from \"../status-indicator\";\n\nexport const DialogContext = createContext<{\n status?: ValidationStatus;\n id: string | undefined;\n}>({\n status: undefined,\n id: \"\",\n});\n\nexport const useDialogContext = () => {\n return useContext(DialogContext);\n};\n"],"names":["createContext","useContext"],"mappings":";;;;;;AAGO,MAAM,gBAAgBA,mBAG1B,CAAA;AAAA,EACD,MAAQ,EAAA,KAAA,CAAA;AAAA,EACR,EAAI,EAAA,EAAA;AACN,CAAC,EAAA;AAEM,MAAM,mBAAmB,MAAM;AACpC,EAAA,OAAOC,iBAAW,aAAa,CAAA,CAAA;AACjC;;;;;"}
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var css_248z = "/* Styles applied to the root element */\n.saltDialogHeader {\n padding-bottom: var(--salt-spacing-100);\n padding-left: var(--salt-spacing-300);\n padding-right: var(--salt-spacing-300);\n align-items: center;\n display: flex;\n flex-direction: row;\n gap: var(--salt-spacing-100);\n box-sizing: border-box;\n}\n\n.saltDialogHeader-header {\n margin: 0;\n}\n\n/* Styles applied to the status indicator icon overriding its default size */\n.saltDialogHeader .saltStatusIndicator.saltIcon {\n --icon-size: var(--salt-text-h2-lineHeight);\n}\n\n/* Styles applied to DialogTitle when accent={true} */\n.saltDialogHeader-withAccent {\n position: relative;\n}\n\n.saltDialogHeader-withAccent::before {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n bottom: var(--salt-spacing-100);\n width: var(--salt-size-accent);\n background: var(--salt-accent-background);\n}\n\n.saltDialogHeader-error::before {\n background: var(--salt-status-error-borderColor);\n}\n\n.saltDialogHeader-info::before {\n background: var(--salt-status-info-borderColor);\n}\n\n.saltDialogHeader-success::before {\n background: var(--salt-status-success-borderColor);\n}\n\n.saltDialogHeader-warning::before {\n background: var(--salt-status-warning-borderColor);\n}\n";
4
+
5
+ module.exports = css_248z;
6
+ //# sourceMappingURL=DialogHeader.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DialogHeader.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,79 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var clsx = require('clsx');
7
+ var StatusIndicator = require('../status-indicator/StatusIndicator.js');
8
+ var Text = require('../text/Text.js');
9
+ require('../text/Display.js');
10
+ var Headings = require('../text/Headings.js');
11
+ require('../text/Label.js');
12
+ require('../text/TextNotation.js');
13
+ require('../text/TextAction.js');
14
+ require('react');
15
+ var makePrefixer = require('../utils/makePrefixer.js');
16
+ require('../utils/useFloatingUI/useFloatingUI.js');
17
+ require('../utils/useId.js');
18
+ require('../salt-provider/SaltProvider.js');
19
+ require('../viewport/ViewportProvider.js');
20
+ var DialogContext = require('./DialogContext.js');
21
+ var window = require('@salt-ds/window');
22
+ var styles = require('@salt-ds/styles');
23
+ var DialogHeader$1 = require('./DialogHeader.css.js');
24
+
25
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
26
+
27
+ var clsx__default = /*#__PURE__*/_interopDefaultLegacy(clsx);
28
+
29
+ const withBaseName = makePrefixer.makePrefixer("saltDialogHeader");
30
+ const DialogHeader = ({
31
+ className,
32
+ header,
33
+ preheader,
34
+ disableAccent,
35
+ status: statusProp,
36
+ ...rest
37
+ }) => {
38
+ const { status: statusContext, id } = DialogContext.useDialogContext();
39
+ const targetWindow = window.useWindow();
40
+ styles.useComponentCssInjection({
41
+ testId: "salt-dialog-header",
42
+ css: DialogHeader$1,
43
+ window: targetWindow
44
+ });
45
+ const status = statusProp != null ? statusProp : statusContext;
46
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", {
47
+ id,
48
+ className: clsx__default["default"](
49
+ withBaseName(),
50
+ {
51
+ [withBaseName("withAccent")]: !disableAccent && !status,
52
+ [withBaseName(status)]: !!status
53
+ },
54
+ className
55
+ ),
56
+ ...rest,
57
+ children: [
58
+ status && /* @__PURE__ */ jsxRuntime.jsx(StatusIndicator.StatusIndicator, {
59
+ status
60
+ }),
61
+ /* @__PURE__ */ jsxRuntime.jsxs(Headings.H2, {
62
+ className: withBaseName("header"),
63
+ children: [
64
+ preheader && /* @__PURE__ */ jsxRuntime.jsx(Text.Text, {
65
+ variant: "secondary",
66
+ className: withBaseName("preheader"),
67
+ children: preheader
68
+ }),
69
+ /* @__PURE__ */ jsxRuntime.jsx("div", {
70
+ children: header
71
+ })
72
+ ]
73
+ })
74
+ ]
75
+ });
76
+ };
77
+
78
+ exports.DialogHeader = DialogHeader;
79
+ //# sourceMappingURL=DialogHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DialogHeader.js","sources":["../src/dialog/DialogHeader.tsx"],"sourcesContent":["import { ReactNode, ComponentPropsWithoutRef } from \"react\";\nimport clsx from \"clsx\";\nimport { ValidationStatus, StatusIndicator } from \"../status-indicator\";\nimport { H2, Text } from \"../text\";\nimport { makePrefixer } from \"../utils\";\nimport { useDialogContext } from \"./DialogContext\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport dialogTitleCss from \"./DialogHeader.css\";\n\nconst withBaseName = makePrefixer(\"saltDialogHeader\");\n\ninterface DialogTitleProps extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * The status of the Dialog\n */\n status?: ValidationStatus | undefined;\n /**\n * Displays the accent bar in the Dialog Title */\n disableAccent?: boolean;\n /**\n * Displays the header at the top of the Dialog\n */\n header: ReactNode;\n /**\n * Displays the preheader just above the header\n **/\n preheader?: ReactNode;\n\n className?: string;\n}\n\nexport const DialogHeader = ({\n className,\n header,\n preheader,\n disableAccent,\n status: statusProp,\n ...rest\n}: DialogTitleProps) => {\n const { status: statusContext, id } = useDialogContext();\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-dialog-header\",\n css: dialogTitleCss,\n window: targetWindow,\n });\n\n const status = statusProp ?? (statusContext as ValidationStatus);\n\n return (\n <div\n id={id}\n className={clsx(\n withBaseName(),\n {\n [withBaseName(\"withAccent\")]: !disableAccent && !status,\n [withBaseName(status)]: !!status,\n },\n className\n )}\n {...rest}\n >\n {status && <StatusIndicator status={status} />}\n <H2 className={withBaseName(\"header\")}>\n {preheader && (\n <Text variant=\"secondary\" className={withBaseName(\"preheader\")}>\n {preheader}\n </Text>\n )}\n <div>{header}</div>\n </H2>\n </div>\n );\n};\n"],"names":["makePrefixer","useDialogContext","useWindow","useComponentCssInjection","dialogTitleCss","jsxs","clsx","jsx","StatusIndicator","H2","Text"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,MAAM,YAAA,GAAeA,0BAAa,kBAAkB,CAAA,CAAA;AAsB7C,MAAM,eAAe,CAAC;AAAA,EAC3B,SAAA;AAAA,EACA,MAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA;AAAA,EACA,MAAQ,EAAA,UAAA;AAAA,EACL,GAAA,IAAA;AACL,CAAwB,KAAA;AACtB,EAAA,MAAM,EAAE,MAAA,EAAQ,aAAe,EAAA,EAAA,KAAOC,8BAAiB,EAAA,CAAA;AACvD,EAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,oBAAA;AAAA,IACR,GAAK,EAAAC,cAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAA,MAAM,SAAS,UAAe,IAAA,IAAA,GAAA,UAAA,GAAA,aAAA,CAAA;AAE9B,EAAA,uBACGC,eAAA,CAAA,KAAA,EAAA;AAAA,IACC,EAAA;AAAA,IACA,SAAW,EAAAC,wBAAA;AAAA,MACT,YAAa,EAAA;AAAA,MACb;AAAA,QACE,CAAC,YAAa,CAAA,YAAY,CAAI,GAAA,CAAC,iBAAiB,CAAC,MAAA;AAAA,QACjD,CAAC,YAAA,CAAa,MAAM,CAAA,GAAI,CAAC,CAAC,MAAA;AAAA,OAC5B;AAAA,MACA,SAAA;AAAA,KACF;AAAA,IACC,GAAG,IAAA;AAAA,IAEH,QAAA,EAAA;AAAA,MAAA,MAAA,oBAAWC,cAAA,CAAAC,+BAAA,EAAA;AAAA,QAAgB,MAAA;AAAA,OAAgB,CAAA;AAAA,sBAC3CH,eAAA,CAAAI,WAAA,EAAA;AAAA,QAAG,SAAA,EAAW,aAAa,QAAQ,CAAA;AAAA,QACjC,QAAA,EAAA;AAAA,UAAA,SAAA,oBACEF,cAAA,CAAAG,SAAA,EAAA;AAAA,YAAK,OAAQ,EAAA,WAAA;AAAA,YAAY,SAAA,EAAW,aAAa,WAAW,CAAA;AAAA,YAC1D,QAAA,EAAA,SAAA;AAAA,WACH,CAAA;AAAA,0BAEDH,cAAA,CAAA,KAAA,EAAA;AAAA,YAAK,QAAA,EAAA,MAAA;AAAA,WAAO,CAAA;AAAA,SAAA;AAAA,OACf,CAAA;AAAA,KAAA;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var css_248z = "/* Styles applied to Drawer component */\n.saltDrawer {\n background: var(--drawer-background);\n display: flex;\n flex-direction: column;\n max-height: 100%;\n max-width: 100%;\n overflow: auto;\n padding: var(--salt-spacing-300);\n box-shadow: var(--salt-overlayable-shadow-modal);\n z-index: var(--salt-zIndex-drawer);\n position: fixed;\n top: 0;\n box-sizing: border-box;\n}\n\n/* Styles applied when variant = \"primary\" */\n.saltDrawer-primary {\n --drawer-background: var(--salt-container-primary-background);\n}\n\n/* Styles applied when variant = \"secondary\" */\n.saltDrawer-secondary {\n --drawer-background: var(--salt-container-secondary-background);\n}\n\n/* Styles applied when position = \"top\" */\n.saltDrawer-top {\n left: 0;\n right: 0;\n bottom: auto;\n}\n\n/* Styles applied when position = \"top\" and the component mounts */\n.saltDrawer-top.saltDrawer-enterAnimation {\n animation: var(--salt-animation-slide-in-bottom);\n}\n\n/* Styles applied when position = \"top\" and the component unmounts */\n.saltDrawer-top.saltDrawer-exitAnimation {\n animation: var(--salt-animation-slide-out-bottom);\n}\n\n/* Styles applied when position = \"right\" */\n.saltDrawer-right {\n left: auto;\n right: 0;\n height: 100%;\n}\n\n/* Styles applied when position = \"right\" and the component mounts */\n.saltDrawer-right.saltDrawer-enterAnimation {\n animation: var(--salt-animation-slide-in-right);\n}\n\n/* Styles applied when position = \"right\" and the component unmounts */\n.saltDrawer-right.saltDrawer-exitAnimation {\n animation: var(--salt-animation-slide-out-right);\n}\n\n/* Styles applied when position = \"left\" */\n.saltDrawer-left {\n left: 0;\n right: auto;\n height: 100%;\n}\n\n/* Styles applied when position = \"left\" and the component mounts */\n.saltDrawer-left.saltDrawer-enterAnimation {\n animation: var(--salt-animation-slide-in-left);\n}\n\n/* Styles applied when position = \"left\" and the component unmounts */\n.saltDrawer-left.saltDrawer-exitAnimation {\n animation: var(--salt-animation-slide-out-left);\n}\n\n/* Styles applied when position = \"bottom\" */\n.saltDrawer-bottom {\n left: 0;\n right: 0;\n bottom: 0;\n top: auto;\n}\n\n/* Styles applied when position = \"bottom\" and the component mounts */\n.saltDrawer-bottom.saltDrawer-enterAnimation {\n animation: var(--salt-animation-slide-in-top);\n}\n\n/* Styles applied when position = \"bottom\" and the component unmounts */\n.saltDrawer-bottom.saltDrawer-exitAnimation {\n animation: var(--salt-animation-slide-out-top);\n}\n";
4
+
5
+ module.exports = css_248z;
6
+ //# sourceMappingURL=Drawer.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Drawer.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,110 @@
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 react = require('@floating-ui/react');
9
+ var makePrefixer = require('../utils/makePrefixer.js');
10
+ var useFloatingUI = require('../utils/useFloatingUI/useFloatingUI.js');
11
+ var useForkRef = require('../utils/useForkRef.js');
12
+ require('../utils/useId.js');
13
+ require('../salt-provider/SaltProvider.js');
14
+ require('../viewport/ViewportProvider.js');
15
+ var Scrim = require('../scrim/Scrim.js');
16
+ var window = require('@salt-ds/window');
17
+ var styles = require('@salt-ds/styles');
18
+ var Drawer$1 = require('./Drawer.css.js');
19
+
20
+ const ConditionalScrimWrapper = ({
21
+ condition,
22
+ children
23
+ }) => {
24
+ return condition ? /* @__PURE__ */ jsxRuntime.jsxs(Scrim.Scrim, {
25
+ fixed: true,
26
+ children: [
27
+ " ",
28
+ children,
29
+ " "
30
+ ]
31
+ }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
32
+ children: [
33
+ children,
34
+ " "
35
+ ]
36
+ });
37
+ };
38
+ const withBaseName = makePrefixer.makePrefixer("saltDrawer");
39
+ const Drawer = React.forwardRef(function Drawer2(props, ref) {
40
+ var _a, _b;
41
+ const {
42
+ children,
43
+ className,
44
+ position = "left",
45
+ open = false,
46
+ onOpenChange,
47
+ variant = "primary",
48
+ disableDismiss,
49
+ disableScrim,
50
+ ...rest
51
+ } = props;
52
+ const targetWindow = window.useWindow();
53
+ styles.useComponentCssInjection({
54
+ testId: "salt-drawer",
55
+ css: Drawer$1,
56
+ window: targetWindow
57
+ });
58
+ const [showComponent, setShowComponent] = React.useState(false);
59
+ const { Component: FloatingComponent } = useFloatingUI.useFloatingComponent();
60
+ const { context, floating, elements } = useFloatingUI.useFloatingUI({
61
+ open,
62
+ onOpenChange
63
+ });
64
+ const { getFloatingProps } = react.useInteractions([
65
+ react.useClick(context),
66
+ react.useDismiss(context, { enabled: !disableDismiss })
67
+ ]);
68
+ const handleRef = useForkRef.useForkRef(floating, ref);
69
+ React.useEffect(() => {
70
+ if (open && !showComponent) {
71
+ setShowComponent(true);
72
+ }
73
+ if (!open && showComponent) {
74
+ const animate = setTimeout(() => {
75
+ setShowComponent(false);
76
+ }, 300);
77
+ return () => clearTimeout(animate);
78
+ }
79
+ }, [open, showComponent, setShowComponent]);
80
+ return /* @__PURE__ */ jsxRuntime.jsx(ConditionalScrimWrapper, {
81
+ condition: open && !disableScrim,
82
+ children: /* @__PURE__ */ jsxRuntime.jsx(FloatingComponent, {
83
+ open: showComponent,
84
+ ref: handleRef,
85
+ role: "dialog",
86
+ width: (_a = elements.floating) == null ? void 0 : _a.offsetWidth,
87
+ height: (_b = elements.floating) == null ? void 0 : _b.offsetHeight,
88
+ "aria-modal": "true",
89
+ focusManagerProps: {
90
+ context
91
+ },
92
+ className: clsx.clsx(
93
+ withBaseName(),
94
+ withBaseName(position),
95
+ {
96
+ [withBaseName("enterAnimation")]: open,
97
+ [withBaseName("exitAnimation")]: !open,
98
+ [withBaseName(variant)]: variant
99
+ },
100
+ className
101
+ ),
102
+ ...getFloatingProps(),
103
+ ...rest,
104
+ children
105
+ })
106
+ });
107
+ });
108
+
109
+ exports.Drawer = Drawer;
110
+ //# sourceMappingURL=Drawer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Drawer.js","sources":["../src/drawer/Drawer.tsx"],"sourcesContent":["import {\n ComponentPropsWithoutRef,\n forwardRef,\n useEffect,\n useState,\n PropsWithChildren,\n} from \"react\";\nimport { clsx } from \"clsx\";\nimport { useClick, useDismiss, useInteractions } from \"@floating-ui/react\";\nimport {\n makePrefixer,\n useFloatingComponent,\n useFloatingUI,\n useForkRef,\n} from \"../utils\";\nimport { Scrim } from \"../scrim\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport drawerCss from \"./Drawer.css\";\n\ninterface ConditionalScrimWrapperProps extends PropsWithChildren {\n condition: boolean;\n}\n\nconst ConditionalScrimWrapper = ({\n condition,\n children,\n}: ConditionalScrimWrapperProps) => {\n return condition ? <Scrim fixed> {children} </Scrim> : <>{children} </>;\n};\n\nexport interface DrawerProps extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * Defines the drawer position within the screen. Defaults to `left`.\n */\n position?: \"left\" | \"top\" | \"right\" | \"bottom\";\n /**\n * Display or hide the component.\n */\n open?: boolean;\n /**\n * Callback function triggered when open state changes.\n */\n onOpenChange?: (newOpen: boolean) => void;\n /**\n * Change background color palette\n */\n variant?: \"primary\" | \"secondary\";\n /**\n * Prevent the dialog closing on click away\n * */\n disableDismiss?: boolean;\n /**\n * Prevent Scrim from rendering\n * */\n disableScrim?: boolean;\n}\n\nconst withBaseName = makePrefixer(\"saltDrawer\");\n\nexport const Drawer = forwardRef<HTMLDivElement, DrawerProps>(function Drawer(\n props,\n ref\n) {\n const {\n children,\n className,\n position = \"left\",\n open = false,\n onOpenChange,\n variant = \"primary\",\n disableDismiss,\n disableScrim,\n ...rest\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-drawer\",\n css: drawerCss,\n window: targetWindow,\n });\n\n const [showComponent, setShowComponent] = useState(false);\n const { Component: FloatingComponent } = useFloatingComponent();\n\n const { context, floating, elements } = useFloatingUI({\n open,\n onOpenChange,\n });\n\n const { getFloatingProps } = useInteractions([\n useClick(context),\n useDismiss(context, { enabled: !disableDismiss }),\n ]);\n\n const handleRef = useForkRef<HTMLDivElement>(floating, ref);\n\n useEffect(() => {\n if (open && !showComponent) {\n setShowComponent(true);\n }\n\n if (!open && showComponent) {\n const animate = setTimeout(() => {\n setShowComponent(false);\n }, 300); // var(--salt-duration-perceptible)\n return () => clearTimeout(animate);\n }\n }, [open, showComponent, setShowComponent]);\n\n return (\n <ConditionalScrimWrapper condition={open && !disableScrim}>\n <FloatingComponent\n open={showComponent}\n ref={handleRef}\n role={\"dialog\"}\n width={elements.floating?.offsetWidth}\n height={elements.floating?.offsetHeight}\n aria-modal=\"true\"\n focusManagerProps={{\n context: context,\n }}\n className={clsx(\n withBaseName(),\n withBaseName(position),\n {\n [withBaseName(\"enterAnimation\")]: open,\n [withBaseName(\"exitAnimation\")]: !open,\n [withBaseName(variant)]: variant,\n },\n className\n )}\n {...getFloatingProps()}\n {...rest}\n >\n {children}\n </FloatingComponent>\n </ConditionalScrimWrapper>\n );\n});\n"],"names":["jsxs","Scrim","Fragment","makePrefixer","forwardRef","Drawer","useWindow","useComponentCssInjection","drawerCss","useState","useFloatingComponent","useFloatingUI","useInteractions","useClick","useDismiss","useForkRef","useEffect","jsx","clsx"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var css_248z = ".saltDrawerCloseButton-container {\n position: relative;\n display: flex;\n justify-content: flex-end;\n}\n\n.saltButton-secondary.saltDrawerCloseButton {\n position: fixed;\n margin-top: calc(var(--salt-spacing-300) * -1);\n margin-right: calc(var(--salt-spacing-300) * -1);\n}\n";
4
+
5
+ module.exports = css_248z;
6
+ //# sourceMappingURL=DrawerCloseButton.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DrawerCloseButton.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}