@doist/reactist 29.1.0 → 29.1.2

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 (227) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/reactist.cjs.development.js +6749 -1829
  3. package/dist/reactist.cjs.development.js.map +1 -1
  4. package/dist/reactist.cjs.production.min.js +1 -1
  5. package/dist/reactist.cjs.production.min.js.map +1 -1
  6. package/es/avatar/avatar.js +106 -36
  7. package/es/avatar/avatar.js.map +1 -1
  8. package/es/avatar/utils.js +17 -19
  9. package/es/avatar/utils.js.map +1 -1
  10. package/es/badge/badge.js +50 -6
  11. package/es/badge/badge.js.map +1 -1
  12. package/es/banner/banner.js +384 -41
  13. package/es/banner/banner.js.map +1 -1
  14. package/es/base-field/base-field.js +367 -77
  15. package/es/base-field/base-field.js.map +1 -1
  16. package/es/box/box.js +139 -61
  17. package/es/box/box.js.map +1 -1
  18. package/es/button/button.js +346 -36
  19. package/es/button/button.js.map +1 -1
  20. package/es/checkbox-field/checkbox-field.js +71 -48
  21. package/es/checkbox-field/checkbox-field.js.map +1 -1
  22. package/es/checkbox-field/checkbox-icon.js +88 -28
  23. package/es/checkbox-field/checkbox-icon.js.map +1 -1
  24. package/es/checkbox-field/use-fork-ref.js +15 -20
  25. package/es/checkbox-field/use-fork-ref.js.map +1 -1
  26. package/es/columns/columns.js +46 -23
  27. package/es/columns/columns.js.map +1 -1
  28. package/es/components/color-picker/color-picker.js +190 -46
  29. package/es/components/color-picker/color-picker.js.map +1 -1
  30. package/es/components/deprecated-button/deprecated-button.js +102 -9
  31. package/es/components/deprecated-button/deprecated-button.js.map +1 -1
  32. package/es/components/deprecated-button/index.js +5 -2
  33. package/es/components/deprecated-button/index.js.map +1 -1
  34. package/es/components/deprecated-dropdown/dropdown.js +234 -134
  35. package/es/components/deprecated-dropdown/dropdown.js.map +1 -1
  36. package/es/components/deprecated-dropdown/index.js +4 -1
  37. package/es/components/deprecated-dropdown/index.js.map +1 -1
  38. package/es/components/deprecated-input/index.js +5 -2
  39. package/es/components/deprecated-input/index.js.map +1 -1
  40. package/es/components/deprecated-input/input.js +27 -4
  41. package/es/components/deprecated-input/input.js.map +1 -1
  42. package/es/components/deprecated-select/select.js +110 -7
  43. package/es/components/deprecated-select/select.js.map +1 -1
  44. package/es/components/key-capturer/key-capturer.js +190 -137
  45. package/es/components/key-capturer/key-capturer.js.map +1 -1
  46. package/es/components/keyboard-shortcut/keyboard-shortcut.js +65 -45
  47. package/es/components/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
  48. package/es/components/progress-bar/progress-bar.js +61 -9
  49. package/es/components/progress-bar/progress-bar.js.map +1 -1
  50. package/es/components/time/index.js +5 -2
  51. package/es/components/time/index.js.map +1 -1
  52. package/es/components/time/time-utils.js +59 -53
  53. package/es/components/time/time-utils.js.map +1 -1
  54. package/es/components/time/time.js +94 -91
  55. package/es/components/time/time.js.map +1 -1
  56. package/es/divider/divider.js +44 -5
  57. package/es/divider/divider.js.map +1 -1
  58. package/es/heading/heading.js +122 -20
  59. package/es/heading/heading.js.map +1 -1
  60. package/es/hidden/hidden.js +36 -30
  61. package/es/hidden/hidden.js.map +1 -1
  62. package/es/hidden-visually/hidden-visually.js +9 -4
  63. package/es/hidden-visually/hidden-visually.js.map +1 -1
  64. package/es/icons/alert-icon.js +145 -18
  65. package/es/icons/alert-icon.js.map +1 -1
  66. package/es/icons/banner-icon.js +213 -25
  67. package/es/icons/banner-icon.js.map +1 -1
  68. package/es/icons/close-icon.js +26 -3
  69. package/es/icons/close-icon.js.map +1 -1
  70. package/es/icons/password-hidden-icon.js +40 -6
  71. package/es/icons/password-hidden-icon.js.map +1 -1
  72. package/es/icons/password-visible-icon.js +33 -5
  73. package/es/icons/password-visible-icon.js.map +1 -1
  74. package/es/index.js +9 -9
  75. package/es/inline/inline.js +24 -9
  76. package/es/inline/inline.js.map +1 -1
  77. package/es/loading/loading.js +63 -17
  78. package/es/loading/loading.js.map +1 -1
  79. package/es/menu/menu.js +469 -92
  80. package/es/menu/menu.js.map +1 -1
  81. package/es/modal/modal.js +675 -112
  82. package/es/modal/modal.js.map +1 -1
  83. package/es/notice/notice.js +77 -10
  84. package/es/notice/notice.js.map +1 -1
  85. package/es/password-field/password-field.js +89 -11
  86. package/es/password-field/password-field.js.map +1 -1
  87. package/es/prose/prose.js +48 -9
  88. package/es/prose/prose.js.map +1 -1
  89. package/es/select-field/select-field.js +150 -16
  90. package/es/select-field/select-field.js.map +1 -1
  91. package/es/spinner/spinner.js +39 -6
  92. package/es/spinner/spinner.js.map +1 -1
  93. package/es/stack/stack.js +29 -17
  94. package/es/stack/stack.js.map +1 -1
  95. package/es/switch-field/switch-field.js +225 -42
  96. package/es/switch-field/switch-field.js.map +1 -1
  97. package/es/tabs/tabs.js +207 -109
  98. package/es/tabs/tabs.js.map +1 -1
  99. package/es/text/text.js +27 -17
  100. package/es/text/text.js.map +1 -1
  101. package/es/text-area/text-area.js +264 -54
  102. package/es/text-area/text-area.js.map +1 -1
  103. package/es/text-field/text-field.js +204 -31
  104. package/es/text-field/text-field.js.map +1 -1
  105. package/es/text-link/text-link.js +21 -10
  106. package/es/text-link/text-link.js.map +1 -1
  107. package/es/toast/static-toast.js +143 -25
  108. package/es/toast/static-toast.js.map +1 -1
  109. package/es/toast/toast-animation.js +159 -109
  110. package/es/toast/toast-animation.js.map +1 -1
  111. package/es/toast/use-toasts.js +309 -84
  112. package/es/toast/use-toasts.js.map +1 -1
  113. package/es/tooltip/tooltip.js +88 -32
  114. package/es/tooltip/tooltip.js.map +1 -1
  115. package/es/utils/common-helpers.js +12 -11
  116. package/es/utils/common-helpers.js.map +1 -1
  117. package/es/utils/polymorphism.js +84 -1
  118. package/es/utils/polymorphism.js.map +1 -1
  119. package/es/utils/responsive-props.js +43 -32
  120. package/es/utils/responsive-props.js.map +1 -1
  121. package/lib/avatar/avatar.js +109 -35
  122. package/lib/avatar/avatar.js.map +1 -1
  123. package/lib/avatar/utils.js +17 -19
  124. package/lib/avatar/utils.js.map +1 -1
  125. package/lib/badge/badge.js +53 -5
  126. package/lib/badge/badge.js.map +1 -1
  127. package/lib/banner/banner.js +385 -38
  128. package/lib/banner/banner.js.map +1 -1
  129. package/lib/base-field/base-field.js +366 -73
  130. package/lib/base-field/base-field.js.map +1 -1
  131. package/lib/box/box.js +141 -61
  132. package/lib/box/box.js.map +1 -1
  133. package/lib/button/button.js +347 -35
  134. package/lib/button/button.js.map +1 -1
  135. package/lib/checkbox-field/checkbox-field.js +73 -46
  136. package/lib/checkbox-field/checkbox-field.js.map +1 -1
  137. package/lib/checkbox-field/checkbox-icon.js +92 -28
  138. package/lib/checkbox-field/checkbox-icon.js.map +1 -1
  139. package/lib/checkbox-field/use-fork-ref.js +15 -20
  140. package/lib/checkbox-field/use-fork-ref.js.map +1 -1
  141. package/lib/columns/columns.js +49 -22
  142. package/lib/columns/columns.js.map +1 -1
  143. package/lib/components/color-picker/color-picker.js +189 -45
  144. package/lib/components/color-picker/color-picker.js.map +1 -1
  145. package/lib/components/deprecated-button/deprecated-button.js +104 -9
  146. package/lib/components/deprecated-button/deprecated-button.js.map +1 -1
  147. package/lib/components/deprecated-dropdown/dropdown.js +235 -133
  148. package/lib/components/deprecated-dropdown/dropdown.js.map +1 -1
  149. package/lib/components/deprecated-input/input.js +28 -4
  150. package/lib/components/deprecated-input/input.js.map +1 -1
  151. package/lib/components/deprecated-select/select.js +112 -7
  152. package/lib/components/deprecated-select/select.js.map +1 -1
  153. package/lib/components/key-capturer/key-capturer.js +188 -135
  154. package/lib/components/key-capturer/key-capturer.js.map +1 -1
  155. package/lib/components/keyboard-shortcut/keyboard-shortcut.js +67 -45
  156. package/lib/components/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
  157. package/lib/components/progress-bar/progress-bar.js +60 -8
  158. package/lib/components/progress-bar/progress-bar.js.map +1 -1
  159. package/lib/components/time/time-utils.js +59 -53
  160. package/lib/components/time/time-utils.js.map +1 -1
  161. package/lib/components/time/time.js +93 -90
  162. package/lib/components/time/time.js.map +1 -1
  163. package/lib/divider/divider.js +47 -4
  164. package/lib/divider/divider.js.map +1 -1
  165. package/lib/heading/heading.js +125 -19
  166. package/lib/heading/heading.js.map +1 -1
  167. package/lib/hidden/hidden.js +39 -29
  168. package/lib/hidden/hidden.js.map +1 -1
  169. package/lib/hidden-visually/hidden-visually.js +11 -3
  170. package/lib/hidden-visually/hidden-visually.js.map +1 -1
  171. package/lib/icons/alert-icon.js +149 -18
  172. package/lib/icons/alert-icon.js.map +1 -1
  173. package/lib/icons/banner-icon.js +217 -25
  174. package/lib/icons/banner-icon.js.map +1 -1
  175. package/lib/icons/close-icon.js +29 -3
  176. package/lib/icons/close-icon.js.map +1 -1
  177. package/lib/icons/password-hidden-icon.js +43 -6
  178. package/lib/icons/password-hidden-icon.js.map +1 -1
  179. package/lib/icons/password-visible-icon.js +36 -5
  180. package/lib/icons/password-visible-icon.js.map +1 -1
  181. package/lib/inline/inline.js +27 -8
  182. package/lib/inline/inline.js.map +1 -1
  183. package/lib/loading/loading.js +67 -17
  184. package/lib/loading/loading.js.map +1 -1
  185. package/lib/menu/menu.js +471 -91
  186. package/lib/menu/menu.js.map +1 -1
  187. package/lib/modal/modal.js +671 -106
  188. package/lib/modal/modal.js.map +1 -1
  189. package/lib/notice/notice.js +75 -8
  190. package/lib/notice/notice.js.map +1 -1
  191. package/lib/password-field/password-field.js +92 -10
  192. package/lib/password-field/password-field.js.map +1 -1
  193. package/lib/prose/prose.js +51 -8
  194. package/lib/prose/prose.js.map +1 -1
  195. package/lib/select-field/select-field.js +152 -14
  196. package/lib/select-field/select-field.js.map +1 -1
  197. package/lib/spinner/spinner.js +39 -6
  198. package/lib/spinner/spinner.js.map +1 -1
  199. package/lib/stack/stack.js +29 -15
  200. package/lib/stack/stack.js.map +1 -1
  201. package/lib/switch-field/switch-field.js +225 -38
  202. package/lib/switch-field/switch-field.js.map +1 -1
  203. package/lib/tabs/tabs.js +207 -107
  204. package/lib/tabs/tabs.js.map +1 -1
  205. package/lib/text/text.js +30 -16
  206. package/lib/text/text.js.map +1 -1
  207. package/lib/text-area/text-area.js +264 -52
  208. package/lib/text-area/text-area.js.map +1 -1
  209. package/lib/text-field/text-field.js +207 -30
  210. package/lib/text-field/text-field.js.map +1 -1
  211. package/lib/text-link/text-link.js +24 -9
  212. package/lib/text-link/text-link.js.map +1 -1
  213. package/lib/toast/static-toast.js +142 -22
  214. package/lib/toast/static-toast.js.map +1 -1
  215. package/lib/toast/toast-animation.js +158 -108
  216. package/lib/toast/toast-animation.js.map +1 -1
  217. package/lib/toast/use-toasts.js +310 -82
  218. package/lib/toast/use-toasts.js.map +1 -1
  219. package/lib/tooltip/tooltip.js +87 -31
  220. package/lib/tooltip/tooltip.js.map +1 -1
  221. package/lib/utils/common-helpers.js +12 -11
  222. package/lib/utils/common-helpers.js.map +1 -1
  223. package/lib/utils/polymorphism.js +84 -1
  224. package/lib/utils/polymorphism.js.map +1 -1
  225. package/lib/utils/responsive-props.js +43 -32
  226. package/lib/utils/responsive-props.js.map +1 -1
  227. package/package.json +10 -2
@@ -1,57 +1,400 @@
1
- import { __rest, __assign } from 'tslib';
1
+ import _extends from '@babel/runtime/helpers/extends';
2
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
3
+ import { c } from 'react-compiler-runtime';
2
4
  import * as React from 'react';
3
- import { Box } from '../box/box.js';
4
- import { IconButton, Button } from '../button/button.js';
5
5
  import { BannerIcon } from '../icons/banner-icon.js';
6
6
  import { CloseIcon } from '../icons/close-icon.js';
7
- import { TextLink } from '../text-link/text-link.js';
8
7
  import { useId } from '../utils/common-helpers.js';
9
8
  import modules_afa80466 from './banner.module.css.js';
9
+ import { TextLink } from '../text-link/text-link.js';
10
+ import { IconButton, Button } from '../button/button.js';
11
+ import { Box } from '../box/box.js';
12
+
13
+ const _excluded = ["id", "type", "title", "description", "children", "action", "icon", "image", "inlineLinks", "closeLabel", "onClose"],
14
+ _excluded2 = ["label"],
15
+ _excluded3 = ["type", "label"],
16
+ _excluded4 = ["type", "label", "variant"];
17
+
18
+ /**
19
+ * Represents the type of a banner.
20
+ * 'neutral' accepts a custom icon, the rest do not.
21
+ * @default 'neutral'
22
+ */
23
+
24
+ /**
25
+ * Predefined system types for banners.
26
+ * Each type has its own preset icon.
27
+ */
28
+
29
+ /**
30
+ * Represents an action that can be taken from the banner.
31
+ * Can be either a button or a link, sharing common properties from BaseAction.
32
+ */
33
+
34
+ /**
35
+ * Configuration for inline links within the banner description.
36
+ * Extends TextLink component props with a required label.
37
+ */
38
+
39
+ /**
40
+ * Controls the close button behavior.
41
+ * If none is provided, the banner will not have a close button.
42
+ */
43
+
44
+ /**
45
+ * Configuration for neutral banners.
46
+ * Can include either an image, an icon, or neither, but never both.
47
+ */
48
+
49
+ /**
50
+ * Configuration for system banners.
51
+ * Cannot include custom images or icons as they use preset ones.
52
+ */
10
53
 
11
54
  /**
12
55
  * Type guard to check if the action is an Action object (button or link)
13
56
  */
14
57
  function isActionObject(action) {
15
- return (typeof action === 'object' &&
16
- action !== null &&
17
- 'type' in action &&
18
- (action.type === 'button' || action.type === 'link'));
58
+ return typeof action === 'object' && action !== null && 'type' in action && (action.type === 'button' || action.type === 'link');
19
59
  }
20
- var Banner = React.forwardRef(function Banner(_a, ref) {
21
- var id = _a.id, type = _a.type, title = _a.title, description = _a.description, children = _a.children, action = _a.action, icon = _a.icon, image = _a.image, inlineLinks = _a.inlineLinks, closeLabel = _a.closeLabel, onClose = _a.onClose, props = __rest(_a, ["id", "type", "title", "description", "children", "action", "icon", "image", "inlineLinks", "closeLabel", "onClose"]);
22
- var titleId = useId();
23
- var descriptionId = useId();
24
- var closeButton = onClose ? (React.createElement(IconButton, { exceptionallySetClassName: modules_afa80466.closeButton, variant: "quaternary", onClick: onClose, icon: React.createElement(CloseIcon, null), "aria-label": closeLabel !== null && closeLabel !== void 0 ? closeLabel : 'Close banner' })) : null;
25
- return (React.createElement(Box, __assign({}, props, { ref: ref, id: id, display: "flex", flexDirection: "column", justifyContent: "center", role: "status", "aria-labelledby": title ? titleId : descriptionId, "aria-describedby": title ? descriptionId : undefined, "aria-live": "polite", tabIndex: 0, borderRadius: "full", className: modules_afa80466.banner }),
26
- image ? React.createElement(Box, { className: modules_afa80466.image }, image) : null,
27
- React.createElement(Box, { className: modules_afa80466.content, display: "flex", gap: "small" },
28
- React.createElement(Box, { className: modules_afa80466.icon },
29
- type === 'neutral' ? icon : React.createElement(BannerIcon, { type: type }),
30
- closeButton),
31
- React.createElement(Box, { display: "flex", flexDirection: "column", gap: "small", flexGrow: 1 },
32
- React.createElement(Box, { className: modules_afa80466.topContent, display: "flex", gap: "small", alignItems: "flexStart" },
33
- React.createElement(Box, { className: modules_afa80466.copy, display: "flex", flexDirection: "column", flexGrow: 1 },
34
- title ? (React.createElement(Box, { id: titleId, className: modules_afa80466.title }, title)) : null,
35
- React.createElement(Box, { id: descriptionId, className: [modules_afa80466.description, title ? modules_afa80466.secondary : null] },
36
- description, inlineLinks === null || inlineLinks === void 0 ? void 0 :
37
- inlineLinks.map(function (_a, index) {
38
- var label = _a.label, props = __rest(_a, ["label"]);
39
- return (React.createElement(React.Fragment, { key: index },
40
- React.createElement(TextLink, __assign({}, props, { exceptionallySetClassName: modules_afa80466.inlineLink }), label),
41
- index < inlineLinks.length - 1 ? React.createElement("span", null, " \u00B7 ") : ''));
42
- }))),
43
- action || closeButton ? (React.createElement(Box, { className: modules_afa80466.actions, display: "flex", gap: "small" },
44
- action ? (isActionObject(action) ? (action.type === 'button' ? (React.createElement(ActionButton, __assign({}, action))) : (React.createElement(ActionLink, __assign({}, action)))) : (action)) : null,
45
- closeButton)) : null),
46
- children))));
60
+ const Banner = /*#__PURE__*/React.forwardRef(function Banner(t0, ref) {
61
+ const $ = c(59);
62
+ let action;
63
+ let children;
64
+ let closeLabel;
65
+ let description;
66
+ let icon;
67
+ let id;
68
+ let image;
69
+ let inlineLinks;
70
+ let onClose;
71
+ let props;
72
+ let title;
73
+ let type;
74
+ if ($[0] !== t0) {
75
+ var _t = t0;
76
+ ({
77
+ id,
78
+ type,
79
+ title,
80
+ description,
81
+ children,
82
+ action,
83
+ icon,
84
+ image,
85
+ inlineLinks,
86
+ closeLabel,
87
+ onClose
88
+ } = _t);
89
+ props = _objectWithoutProperties(_t, _excluded);
90
+ $[0] = t0;
91
+ $[1] = action;
92
+ $[2] = children;
93
+ $[3] = closeLabel;
94
+ $[4] = description;
95
+ $[5] = icon;
96
+ $[6] = id;
97
+ $[7] = image;
98
+ $[8] = inlineLinks;
99
+ $[9] = onClose;
100
+ $[10] = props;
101
+ $[11] = title;
102
+ $[12] = type;
103
+ } else {
104
+ action = $[1];
105
+ children = $[2];
106
+ closeLabel = $[3];
107
+ description = $[4];
108
+ icon = $[5];
109
+ id = $[6];
110
+ image = $[7];
111
+ inlineLinks = $[8];
112
+ onClose = $[9];
113
+ props = $[10];
114
+ title = $[11];
115
+ type = $[12];
116
+ }
117
+ const titleId = useId();
118
+ const descriptionId = useId();
119
+ let t1;
120
+ if ($[13] !== closeLabel || $[14] !== onClose) {
121
+ t1 = onClose ? /*#__PURE__*/React.createElement(IconButton, {
122
+ exceptionallySetClassName: modules_afa80466.closeButton,
123
+ variant: "quaternary",
124
+ onClick: onClose,
125
+ icon: /*#__PURE__*/React.createElement(CloseIcon, null),
126
+ "aria-label": closeLabel ?? "Close banner"
127
+ }) : null;
128
+ $[13] = closeLabel;
129
+ $[14] = onClose;
130
+ $[15] = t1;
131
+ } else {
132
+ t1 = $[15];
133
+ }
134
+ const closeButton = t1;
135
+ const t2 = title ? titleId : descriptionId;
136
+ const t3 = title ? descriptionId : undefined;
137
+ let t4;
138
+ if ($[16] !== image) {
139
+ t4 = image ? /*#__PURE__*/React.createElement(Box, {
140
+ className: modules_afa80466.image
141
+ }, image) : null;
142
+ $[16] = image;
143
+ $[17] = t4;
144
+ } else {
145
+ t4 = $[17];
146
+ }
147
+ let t5;
148
+ if ($[18] !== icon || $[19] !== type) {
149
+ t5 = type === "neutral" ? icon : /*#__PURE__*/React.createElement(BannerIcon, {
150
+ type: type
151
+ });
152
+ $[18] = icon;
153
+ $[19] = type;
154
+ $[20] = t5;
155
+ } else {
156
+ t5 = $[20];
157
+ }
158
+ let t6;
159
+ if ($[21] !== closeButton || $[22] !== t5) {
160
+ t6 = /*#__PURE__*/React.createElement(Box, {
161
+ className: modules_afa80466.icon
162
+ }, t5, closeButton);
163
+ $[21] = closeButton;
164
+ $[22] = t5;
165
+ $[23] = t6;
166
+ } else {
167
+ t6 = $[23];
168
+ }
169
+ let t7;
170
+ if ($[24] !== title || $[25] !== titleId) {
171
+ t7 = title ? /*#__PURE__*/React.createElement(Box, {
172
+ id: titleId,
173
+ className: modules_afa80466.title
174
+ }, title) : null;
175
+ $[24] = title;
176
+ $[25] = titleId;
177
+ $[26] = t7;
178
+ } else {
179
+ t7 = $[26];
180
+ }
181
+ const t8 = title ? modules_afa80466.secondary : null;
182
+ let t9;
183
+ if ($[27] !== t8) {
184
+ t9 = [modules_afa80466.description, t8];
185
+ $[27] = t8;
186
+ $[28] = t9;
187
+ } else {
188
+ t9 = $[28];
189
+ }
190
+ let t10;
191
+ if ($[29] !== inlineLinks) {
192
+ t10 = inlineLinks?.map((t11, index) => {
193
+ const {
194
+ label
195
+ } = t11,
196
+ props_0 = _objectWithoutProperties(t11, _excluded2);
197
+ return /*#__PURE__*/React.createElement(React.Fragment, {
198
+ key: index
199
+ }, /*#__PURE__*/React.createElement(TextLink, _extends({}, props_0, {
200
+ exceptionallySetClassName: modules_afa80466.inlineLink
201
+ }), label), index < inlineLinks.length - 1 ? /*#__PURE__*/React.createElement("span", null, " \xB7 ") : "");
202
+ });
203
+ $[29] = inlineLinks;
204
+ $[30] = t10;
205
+ } else {
206
+ t10 = $[30];
207
+ }
208
+ let t11;
209
+ if ($[31] !== description || $[32] !== descriptionId || $[33] !== t10 || $[34] !== t9) {
210
+ t11 = /*#__PURE__*/React.createElement(Box, {
211
+ id: descriptionId,
212
+ className: t9
213
+ }, description, t10);
214
+ $[31] = description;
215
+ $[32] = descriptionId;
216
+ $[33] = t10;
217
+ $[34] = t9;
218
+ $[35] = t11;
219
+ } else {
220
+ t11 = $[35];
221
+ }
222
+ let t12;
223
+ if ($[36] !== t11 || $[37] !== t7) {
224
+ t12 = /*#__PURE__*/React.createElement(Box, {
225
+ className: modules_afa80466.copy,
226
+ display: "flex",
227
+ flexDirection: "column",
228
+ flexGrow: 1
229
+ }, t7, t11);
230
+ $[36] = t11;
231
+ $[37] = t7;
232
+ $[38] = t12;
233
+ } else {
234
+ t12 = $[38];
235
+ }
236
+ let t13;
237
+ if ($[39] !== action || $[40] !== closeButton) {
238
+ t13 = action || closeButton ? /*#__PURE__*/React.createElement(Box, {
239
+ className: modules_afa80466.actions,
240
+ display: "flex",
241
+ gap: "small"
242
+ }, action ? isActionObject(action) ? action.type === "button" ? /*#__PURE__*/React.createElement(ActionButton, action) : /*#__PURE__*/React.createElement(ActionLink, action) : action : null, closeButton) : null;
243
+ $[39] = action;
244
+ $[40] = closeButton;
245
+ $[41] = t13;
246
+ } else {
247
+ t13 = $[41];
248
+ }
249
+ let t14;
250
+ if ($[42] !== t12 || $[43] !== t13) {
251
+ t14 = /*#__PURE__*/React.createElement(Box, {
252
+ className: modules_afa80466.topContent,
253
+ display: "flex",
254
+ gap: "small",
255
+ alignItems: "flexStart"
256
+ }, t12, t13);
257
+ $[42] = t12;
258
+ $[43] = t13;
259
+ $[44] = t14;
260
+ } else {
261
+ t14 = $[44];
262
+ }
263
+ let t15;
264
+ if ($[45] !== children || $[46] !== t14) {
265
+ t15 = /*#__PURE__*/React.createElement(Box, {
266
+ display: "flex",
267
+ flexDirection: "column",
268
+ gap: "small",
269
+ flexGrow: 1
270
+ }, t14, children);
271
+ $[45] = children;
272
+ $[46] = t14;
273
+ $[47] = t15;
274
+ } else {
275
+ t15 = $[47];
276
+ }
277
+ let t16;
278
+ if ($[48] !== t15 || $[49] !== t6) {
279
+ t16 = /*#__PURE__*/React.createElement(Box, {
280
+ className: modules_afa80466.content,
281
+ display: "flex",
282
+ gap: "small"
283
+ }, t6, t15);
284
+ $[48] = t15;
285
+ $[49] = t6;
286
+ $[50] = t16;
287
+ } else {
288
+ t16 = $[50];
289
+ }
290
+ let t17;
291
+ if ($[51] !== id || $[52] !== props || $[53] !== ref || $[54] !== t16 || $[55] !== t2 || $[56] !== t3 || $[57] !== t4) {
292
+ t17 = /*#__PURE__*/React.createElement(Box, _extends({}, props, {
293
+ ref: ref,
294
+ id: id,
295
+ display: "flex",
296
+ flexDirection: "column",
297
+ justifyContent: "center",
298
+ role: "status",
299
+ "aria-labelledby": t2,
300
+ "aria-describedby": t3,
301
+ "aria-live": "polite",
302
+ tabIndex: 0,
303
+ borderRadius: "full",
304
+ className: modules_afa80466.banner
305
+ }), t4, t16);
306
+ $[51] = id;
307
+ $[52] = props;
308
+ $[53] = ref;
309
+ $[54] = t16;
310
+ $[55] = t2;
311
+ $[56] = t3;
312
+ $[57] = t4;
313
+ $[58] = t17;
314
+ } else {
315
+ t17 = $[58];
316
+ }
317
+ return t17;
47
318
  });
48
- function ActionButton(_a) {
49
- _a.type; var label = _a.label, props = __rest(_a, ["type", "label"]);
50
- return React.createElement(Button, __assign({}, props), label);
319
+ function ActionButton(t0) {
320
+ const $ = c(6);
321
+ let label;
322
+ let props;
323
+ if ($[0] !== t0) {
324
+ const {
325
+ type,
326
+ label: t1
327
+ } = t0,
328
+ t2 = _objectWithoutProperties(t0, _excluded3);
329
+ label = t1;
330
+ props = t2;
331
+ $[0] = t0;
332
+ $[1] = label;
333
+ $[2] = props;
334
+ } else {
335
+ label = $[1];
336
+ props = $[2];
337
+ }
338
+ let t1;
339
+ if ($[3] !== label || $[4] !== props) {
340
+ t1 = /*#__PURE__*/React.createElement(Button, props, label);
341
+ $[3] = label;
342
+ $[4] = props;
343
+ $[5] = t1;
344
+ } else {
345
+ t1 = $[5];
346
+ }
347
+ return t1;
51
348
  }
52
- function ActionLink(_a) {
53
- _a.type; var label = _a.label, variant = _a.variant, props = __rest(_a, ["type", "label", "variant"]);
54
- return (React.createElement(Button, { variant: variant, render: React.createElement("a", __assign({ rel: "noopener noreferrer", target: "_blank" }, props)) }, label));
349
+ function ActionLink(t0) {
350
+ const $ = c(10);
351
+ let label;
352
+ let props;
353
+ let variant;
354
+ if ($[0] !== t0) {
355
+ const {
356
+ type,
357
+ label: t1,
358
+ variant: t2
359
+ } = t0,
360
+ t3 = _objectWithoutProperties(t0, _excluded4);
361
+ label = t1;
362
+ variant = t2;
363
+ props = t3;
364
+ $[0] = t0;
365
+ $[1] = label;
366
+ $[2] = props;
367
+ $[3] = variant;
368
+ } else {
369
+ label = $[1];
370
+ props = $[2];
371
+ variant = $[3];
372
+ }
373
+ let t1;
374
+ if ($[4] !== props) {
375
+ t1 = /*#__PURE__*/React.createElement("a", _extends({
376
+ rel: "noopener noreferrer",
377
+ target: "_blank"
378
+ }, props));
379
+ $[4] = props;
380
+ $[5] = t1;
381
+ } else {
382
+ t1 = $[5];
383
+ }
384
+ let t2;
385
+ if ($[6] !== label || $[7] !== t1 || $[8] !== variant) {
386
+ t2 = /*#__PURE__*/React.createElement(Button, {
387
+ variant: variant,
388
+ render: t1
389
+ }, label);
390
+ $[6] = label;
391
+ $[7] = t1;
392
+ $[8] = variant;
393
+ $[9] = t2;
394
+ } else {
395
+ t2 = $[9];
396
+ }
397
+ return t2;
55
398
  }
56
399
 
57
400
  export { Banner };
@@ -1 +1 @@
1
- {"version":3,"file":"banner.js","sources":["../../src/banner/banner.tsx"],"sourcesContent":[null],"names":["styles"],"mappings":"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"}
1
+ {"version":3,"file":"banner.js","sources":["../../src/banner/banner.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { Box } from '../box'\nimport { Button, IconButton } from '../button'\nimport { BannerIcon } from '../icons/banner-icon'\nimport { CloseIcon } from '../icons/close-icon'\nimport { TextLink } from '../text-link'\nimport { useId } from '../utils/common-helpers'\n\nimport styles from './banner.module.css'\n\nimport type { ButtonProps } from '../button'\n\n/**\n * Represents the type of a banner.\n * 'neutral' accepts a custom icon, the rest do not.\n * @default 'neutral'\n */\nexport type BannerType = 'neutral' | SystemBannerType\n\n/**\n * Predefined system types for banners.\n * Each type has its own preset icon.\n */\nexport type SystemBannerType = 'info' | 'upgrade' | 'experiment' | 'warning' | 'error' | 'success'\n\ntype BaseAction = {\n variant: 'primary' | 'tertiary'\n label: string\n} & Pick<ButtonProps, 'loading' | 'disabled'>\ntype ActionButton = BaseAction & { type: 'button' } & Omit<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n 'className'\n >\ntype ActionLink = BaseAction & { type: 'link' } & Omit<\n React.AnchorHTMLAttributes<HTMLAnchorElement>,\n 'className'\n >\n/**\n * Represents an action that can be taken from the banner.\n * Can be either a button or a link, sharing common properties from BaseAction.\n */\ntype Action = ActionButton | ActionLink\n\n/**\n * Configuration for inline links within the banner description.\n * Extends TextLink component props with a required label.\n */\ntype InlineLink = { label: string } & React.ComponentProps<typeof TextLink>\n\ntype WithCloseButton = {\n closeLabel?: string\n onClose: () => void\n}\ntype WithoutCloseButton = {\n closeLabel?: never\n onClose?: never\n}\n/**\n * Controls the close button behavior.\n * If none is provided, the banner will not have a close button.\n */\ntype CloseButton = WithCloseButton | WithoutCloseButton\n\ntype BaseBanner = {\n id?: string\n title?: React.ReactNode\n description: Exclude<React.ReactNode, null | undefined | boolean>\n children?: React.ReactNode\n action?: Action | React.ReactNode\n inlineLinks?: InlineLink[]\n} & CloseButton\n\n/**\n * Configuration for neutral banners.\n * Can include either an image, an icon, or neither, but never both.\n */\ntype NeutralBanner = BaseBanner & {\n type: Extract<BannerType, 'neutral'>\n} & (\n | { image: React.ReactElement; icon?: never }\n | { icon: React.ReactElement; image?: never }\n | { image?: never; icon?: never }\n )\n\n/**\n * Configuration for system banners.\n * Cannot include custom images or icons as they use preset ones.\n */\ntype SystemBanner = BaseBanner & {\n type: SystemBannerType\n image?: never\n icon?: never\n}\n\ntype BannerProps = NeutralBanner | SystemBanner\n\n/**\n * Type guard to check if the action is an Action object (button or link)\n */\nfunction isActionObject(action: Action | React.ReactNode): action is Action {\n return (\n typeof action === 'object' &&\n action !== null &&\n 'type' in action &&\n (action.type === 'button' || action.type === 'link')\n )\n}\n\nconst Banner = React.forwardRef<HTMLDivElement, BannerProps>(function Banner(\n {\n id,\n type,\n title,\n description,\n children,\n action,\n icon,\n image,\n inlineLinks,\n closeLabel,\n onClose,\n ...props\n }: BannerProps,\n ref,\n) {\n const titleId = useId()\n const descriptionId = useId()\n\n const closeButton = onClose ? (\n <IconButton\n exceptionallySetClassName={styles.closeButton}\n variant=\"quaternary\"\n onClick={onClose}\n icon={<CloseIcon />}\n aria-label={closeLabel ?? 'Close banner'}\n />\n ) : null\n\n return (\n <Box\n {...props}\n ref={ref}\n id={id}\n display=\"flex\"\n flexDirection=\"column\"\n justifyContent=\"center\"\n role=\"status\"\n aria-labelledby={title ? titleId : descriptionId}\n aria-describedby={title ? descriptionId : undefined}\n aria-live=\"polite\"\n tabIndex={0}\n borderRadius=\"full\"\n className={styles.banner}\n >\n {image ? <Box className={styles.image}>{image}</Box> : null}\n\n <Box className={styles.content} display=\"flex\" gap=\"small\">\n <Box className={styles.icon}>\n {type === 'neutral' ? icon : <BannerIcon type={type} />}\n {closeButton}\n </Box>\n\n <Box display=\"flex\" flexDirection=\"column\" gap=\"small\" flexGrow={1}>\n <Box\n className={styles.topContent}\n display=\"flex\"\n gap=\"small\"\n alignItems=\"flexStart\"\n >\n <Box\n className={styles.copy}\n display=\"flex\"\n flexDirection=\"column\"\n flexGrow={1}\n >\n {title ? (\n <Box id={titleId} className={styles.title}>\n {title}\n </Box>\n ) : null}\n <Box\n id={descriptionId}\n className={[styles.description, title ? styles.secondary : null]}\n >\n {description}\n {inlineLinks?.map(({ label, ...props }, index) => {\n return (\n <React.Fragment key={index}>\n <TextLink\n {...props}\n exceptionallySetClassName={styles.inlineLink}\n >\n {label}\n </TextLink>\n {index < inlineLinks.length - 1 ? <span> · </span> : ''}\n </React.Fragment>\n )\n })}\n </Box>\n </Box>\n\n {action || closeButton ? (\n <Box className={styles.actions} display=\"flex\" gap=\"small\">\n {action ? (\n isActionObject(action) ? (\n action.type === 'button' ? (\n <ActionButton {...action} />\n ) : (\n <ActionLink {...action} />\n )\n ) : (\n action\n )\n ) : null}\n {closeButton}\n </Box>\n ) : null}\n </Box>\n\n {children}\n </Box>\n </Box>\n </Box>\n )\n})\n\nfunction ActionButton({ type, label, ...props }: ActionButton) {\n return <Button {...props}>{label}</Button>\n}\n\nfunction ActionLink({ type, label, variant, ...props }: ActionLink) {\n return (\n <Button\n variant={variant}\n render={<a rel=\"noopener noreferrer\" target=\"_blank\" {...props} />}\n >\n {label}\n </Button>\n )\n}\n\nexport { Banner }\nexport type { BannerProps }\n"],"names":["isActionObject","action","type","Banner","React","forwardRef","t0","ref","$","_c","children","closeLabel","description","icon","id","image","inlineLinks","onClose","props","title","_t","_objectWithoutProperties","_excluded","titleId","useId","descriptionId","t1","createElement","IconButton","exceptionallySetClassName","styles","closeButton","variant","CloseIcon","t2","t3","undefined","t4","Box","className","t5","BannerIcon","t6","t7","t8","secondary","t9","t10","map","t11","index","label","props_0","_excluded2","Fragment","TextLink","_extends","inlineLink","length","t12","copy","display","flexDirection","flexGrow","t13","actions","gap","ActionButton","ActionLink","t14","topContent","alignItems","t15","t16","content","t17","justifyContent","role","tabIndex","borderRadius","banner","_excluded3","Button","_excluded4","rel","target","render"],"mappings":"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"}