@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,58 +1,368 @@
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
5
  import { Role } from '@ariakit/react';
4
6
  import classNames from 'classnames';
7
+ import modules_5357ebb8 from './button.module.css.js';
5
8
  import { getBoxClassNames, Box } from '../box/box.js';
6
9
  import { Spinner } from '../spinner/spinner.js';
7
10
  import { Tooltip } from '../tooltip/tooltip.js';
8
- import modules_5357ebb8 from './button.module.css.js';
9
11
 
12
+ const _excluded = ["variant", "tone", "size", "shape", "type", "disabled", "loading", "tooltip", "render", "onClick", "exceptionallySetClassName", "children", "startIcon", "endIcon", "width", "align"],
13
+ _excluded2 = ["variant", "tone", "size", "shape", "type", "disabled", "loading", "tooltip", "render", "onClick", "exceptionallySetClassName", "children", "icon"];
10
14
  function preventDefault(event) {
11
- event.preventDefault();
15
+ event.preventDefault();
12
16
  }
13
17
  /**
14
18
  * A button element that displays a text label and optionally a start or end icon. It follows the
15
19
  * [WAI-ARIA Button Pattern](https://www.w3.org/TR/wai-aria-practices/#button).
16
20
  */
17
- var Button = React.forwardRef(function Button(_a, ref) {
18
- var variant = _a.variant, _b = _a.tone, tone = _b === void 0 ? 'normal' : _b, _c = _a.size, size = _c === void 0 ? 'normal' : _c, _d = _a.shape, shape = _d === void 0 ? 'normal' : _d, _e = _a.type, type = _e === void 0 ? 'button' : _e, _f = _a.disabled, disabled = _f === void 0 ? false : _f, _g = _a.loading, loading = _g === void 0 ? false : _g, tooltip = _a.tooltip, render = _a.render, onClick = _a.onClick, exceptionallySetClassName = _a.exceptionallySetClassName, children = _a.children, startIcon = _a.startIcon, endIcon = _a.endIcon, _h = _a.width, width = _h === void 0 ? 'auto' : _h, _j = _a.align, align = _j === void 0 ? 'center' : _j, props = __rest(_a, ["variant", "tone", "size", "shape", "type", "disabled", "loading", "tooltip", "render", "onClick", "exceptionallySetClassName", "children", "startIcon", "endIcon", "width", "align"]);
19
- var isDisabled = loading || disabled;
20
- var buttonElement = (React.createElement(Role.button, __assign({}, props, { render: render, type: render != null ? undefined : type, ref: ref, "aria-disabled": isDisabled, onClick: isDisabled ? preventDefault : onClick, className: classNames([
21
- getBoxClassNames({ width: width }),
22
- exceptionallySetClassName,
23
- modules_5357ebb8.baseButton,
24
- modules_5357ebb8["variant-".concat(variant)],
25
- modules_5357ebb8["tone-".concat(tone)],
26
- modules_5357ebb8["size-".concat(size)],
27
- shape === 'rounded' ? modules_5357ebb8['shape-rounded'] : null,
28
- disabled ? modules_5357ebb8.disabled : null,
29
- ]) }),
30
- React.createElement(React.Fragment, null,
31
- startIcon ? (React.createElement(Box, { display: "flex", className: modules_5357ebb8.startIcon, "aria-hidden": true }, loading && !endIcon ? React.createElement(Spinner, null) : startIcon)) : null,
32
- children ? (React.createElement(Box, { as: "span", className: modules_5357ebb8.label, overflow: "hidden", width: width === 'full' ? 'full' : undefined, textAlign: width === 'auto' ? 'center' : align }, children)) : null,
33
- endIcon || (loading && !startIcon) ? (React.createElement(Box, { display: "flex", className: modules_5357ebb8.endIcon, "aria-hidden": true }, loading ? React.createElement(Spinner, null) : endIcon)) : null)));
34
- return tooltip ? React.createElement(Tooltip, { content: tooltip }, buttonElement) : buttonElement;
21
+ const Button = /*#__PURE__*/React.forwardRef(function Button(t0, ref) {
22
+ const $ = c(54);
23
+ let children;
24
+ let endIcon;
25
+ let exceptionallySetClassName;
26
+ let onClick;
27
+ let props;
28
+ let render;
29
+ let startIcon;
30
+ let t1;
31
+ let t2;
32
+ let t3;
33
+ let t4;
34
+ let t5;
35
+ let t6;
36
+ let t7;
37
+ let t8;
38
+ let tooltip;
39
+ let variant;
40
+ if ($[0] !== t0) {
41
+ var _t = t0;
42
+ ({
43
+ variant,
44
+ tone: t1,
45
+ size: t2,
46
+ shape: t3,
47
+ type: t4,
48
+ disabled: t5,
49
+ loading: t6,
50
+ tooltip,
51
+ render,
52
+ onClick,
53
+ exceptionallySetClassName,
54
+ children,
55
+ startIcon,
56
+ endIcon,
57
+ width: t7,
58
+ align: t8
59
+ } = _t);
60
+ props = _objectWithoutProperties(_t, _excluded);
61
+ $[0] = t0;
62
+ $[1] = children;
63
+ $[2] = endIcon;
64
+ $[3] = exceptionallySetClassName;
65
+ $[4] = onClick;
66
+ $[5] = props;
67
+ $[6] = render;
68
+ $[7] = startIcon;
69
+ $[8] = t1;
70
+ $[9] = t2;
71
+ $[10] = t3;
72
+ $[11] = t4;
73
+ $[12] = t5;
74
+ $[13] = t6;
75
+ $[14] = t7;
76
+ $[15] = t8;
77
+ $[16] = tooltip;
78
+ $[17] = variant;
79
+ } else {
80
+ children = $[1];
81
+ endIcon = $[2];
82
+ exceptionallySetClassName = $[3];
83
+ onClick = $[4];
84
+ props = $[5];
85
+ render = $[6];
86
+ startIcon = $[7];
87
+ t1 = $[8];
88
+ t2 = $[9];
89
+ t3 = $[10];
90
+ t4 = $[11];
91
+ t5 = $[12];
92
+ t6 = $[13];
93
+ t7 = $[14];
94
+ t8 = $[15];
95
+ tooltip = $[16];
96
+ variant = $[17];
97
+ }
98
+ const tone = t1 === undefined ? "normal" : t1;
99
+ const size = t2 === undefined ? "normal" : t2;
100
+ const shape = t3 === undefined ? "normal" : t3;
101
+ const type = t4 === undefined ? "button" : t4;
102
+ const disabled = t5 === undefined ? false : t5;
103
+ const loading = t6 === undefined ? false : t6;
104
+ const width = t7 === undefined ? "auto" : t7;
105
+ const align = t8 === undefined ? "center" : t8;
106
+ const isDisabled = loading || disabled;
107
+ const t9 = render != null ? undefined : type;
108
+ const t10 = isDisabled ? preventDefault : onClick;
109
+ let t11;
110
+ if ($[18] !== disabled || $[19] !== exceptionallySetClassName || $[20] !== shape || $[21] !== size || $[22] !== tone || $[23] !== variant || $[24] !== width) {
111
+ t11 = classNames([getBoxClassNames({
112
+ width
113
+ }), exceptionallySetClassName, modules_5357ebb8.baseButton, modules_5357ebb8[`variant-${variant}`], modules_5357ebb8[`tone-${tone}`], modules_5357ebb8[`size-${size}`], shape === "rounded" ? modules_5357ebb8["shape-rounded"] : null, disabled ? modules_5357ebb8.disabled : null]);
114
+ $[18] = disabled;
115
+ $[19] = exceptionallySetClassName;
116
+ $[20] = shape;
117
+ $[21] = size;
118
+ $[22] = tone;
119
+ $[23] = variant;
120
+ $[24] = width;
121
+ $[25] = t11;
122
+ } else {
123
+ t11 = $[25];
124
+ }
125
+ let t12;
126
+ if ($[26] !== endIcon || $[27] !== loading || $[28] !== startIcon) {
127
+ t12 = startIcon ? /*#__PURE__*/React.createElement(Box, {
128
+ display: "flex",
129
+ className: modules_5357ebb8.startIcon,
130
+ "aria-hidden": true
131
+ }, loading && !endIcon ? /*#__PURE__*/React.createElement(Spinner, null) : startIcon) : null;
132
+ $[26] = endIcon;
133
+ $[27] = loading;
134
+ $[28] = startIcon;
135
+ $[29] = t12;
136
+ } else {
137
+ t12 = $[29];
138
+ }
139
+ let t13;
140
+ if ($[30] !== align || $[31] !== children || $[32] !== width) {
141
+ t13 = children ? /*#__PURE__*/React.createElement(Box, {
142
+ as: "span",
143
+ className: modules_5357ebb8.label,
144
+ overflow: "hidden",
145
+ width: width === "full" ? "full" : undefined,
146
+ textAlign: width === "auto" ? "center" : align
147
+ }, children) : null;
148
+ $[30] = align;
149
+ $[31] = children;
150
+ $[32] = width;
151
+ $[33] = t13;
152
+ } else {
153
+ t13 = $[33];
154
+ }
155
+ let t14;
156
+ if ($[34] !== endIcon || $[35] !== loading || $[36] !== startIcon) {
157
+ t14 = endIcon || loading && !startIcon ? /*#__PURE__*/React.createElement(Box, {
158
+ display: "flex",
159
+ className: modules_5357ebb8.endIcon,
160
+ "aria-hidden": true
161
+ }, loading ? /*#__PURE__*/React.createElement(Spinner, null) : endIcon) : null;
162
+ $[34] = endIcon;
163
+ $[35] = loading;
164
+ $[36] = startIcon;
165
+ $[37] = t14;
166
+ } else {
167
+ t14 = $[37];
168
+ }
169
+ let t15;
170
+ if ($[38] !== t12 || $[39] !== t13 || $[40] !== t14) {
171
+ t15 = /*#__PURE__*/React.createElement(React.Fragment, null, t12, t13, t14);
172
+ $[38] = t12;
173
+ $[39] = t13;
174
+ $[40] = t14;
175
+ $[41] = t15;
176
+ } else {
177
+ t15 = $[41];
178
+ }
179
+ let t16;
180
+ if ($[42] !== isDisabled || $[43] !== props || $[44] !== ref || $[45] !== render || $[46] !== t10 || $[47] !== t11 || $[48] !== t15 || $[49] !== t9) {
181
+ t16 = /*#__PURE__*/React.createElement(Role.button, _extends({}, props, {
182
+ render: render,
183
+ type: t9,
184
+ ref: ref,
185
+ "aria-disabled": isDisabled,
186
+ onClick: t10,
187
+ className: t11
188
+ }), t15);
189
+ $[42] = isDisabled;
190
+ $[43] = props;
191
+ $[44] = ref;
192
+ $[45] = render;
193
+ $[46] = t10;
194
+ $[47] = t11;
195
+ $[48] = t15;
196
+ $[49] = t9;
197
+ $[50] = t16;
198
+ } else {
199
+ t16 = $[50];
200
+ }
201
+ const buttonElement = t16;
202
+ let t17;
203
+ if ($[51] !== buttonElement || $[52] !== tooltip) {
204
+ t17 = tooltip ? /*#__PURE__*/React.createElement(Tooltip, {
205
+ content: tooltip
206
+ }, buttonElement) : buttonElement;
207
+ $[51] = buttonElement;
208
+ $[52] = tooltip;
209
+ $[53] = t17;
210
+ } else {
211
+ t17 = $[53];
212
+ }
213
+ return t17;
35
214
  });
36
215
  /**
37
216
  * A button element that displays an icon only, visually, though it is semantically labelled. It
38
217
  * also makes sure to always show a tooltip with its label. It follows the
39
218
  * [WAI-ARIA Button Pattern](https://www.w3.org/TR/wai-aria-practices/#button).
40
219
  */
41
- var IconButton = React.forwardRef(function IconButton(_a, ref) {
42
- var variant = _a.variant, _b = _a.tone, tone = _b === void 0 ? 'normal' : _b, _c = _a.size, size = _c === void 0 ? 'normal' : _c, _d = _a.shape, shape = _d === void 0 ? 'normal' : _d, _e = _a.type, type = _e === void 0 ? 'button' : _e, _f = _a.disabled, disabled = _f === void 0 ? false : _f, _g = _a.loading, loading = _g === void 0 ? false : _g, tooltip = _a.tooltip, render = _a.render, onClick = _a.onClick, exceptionallySetClassName = _a.exceptionallySetClassName; _a.children; var icon = _a.icon, props = __rest(_a, ["variant", "tone", "size", "shape", "type", "disabled", "loading", "tooltip", "render", "onClick", "exceptionallySetClassName", "children", "icon"]);
43
- var isDisabled = loading || disabled;
44
- var buttonElement = (React.createElement(Role.button, __assign({}, props, { render: render, type: render != null ? undefined : type, ref: ref, "aria-disabled": isDisabled, onClick: isDisabled ? preventDefault : onClick, className: classNames([
45
- exceptionallySetClassName,
46
- modules_5357ebb8.baseButton,
47
- modules_5357ebb8["variant-".concat(variant)],
48
- modules_5357ebb8["tone-".concat(tone)],
49
- modules_5357ebb8["size-".concat(size)],
50
- shape === 'rounded' ? modules_5357ebb8['shape-rounded'] : null,
51
- modules_5357ebb8.iconButton,
52
- disabled ? modules_5357ebb8.disabled : null,
53
- ]) }), (loading && React.createElement(Spinner, null)) || icon));
54
- var tooltipContent = tooltip === undefined ? props['aria-label'] : tooltip;
55
- return tooltipContent ? (React.createElement(Tooltip, { content: tooltipContent }, buttonElement)) : (buttonElement);
220
+ const IconButton = /*#__PURE__*/React.forwardRef(function IconButton(t0, ref) {
221
+ const $ = c(36);
222
+ let exceptionallySetClassName;
223
+ let icon;
224
+ let onClick;
225
+ let props;
226
+ let render;
227
+ let t1;
228
+ let t2;
229
+ let t3;
230
+ let t4;
231
+ let t5;
232
+ let t6;
233
+ let tooltip;
234
+ let variant;
235
+ if ($[0] !== t0) {
236
+ const {
237
+ variant: t7,
238
+ tone: t8,
239
+ size: t9,
240
+ shape: t10,
241
+ type: t11,
242
+ disabled: t12,
243
+ loading: t13,
244
+ tooltip: t14,
245
+ render: t15,
246
+ onClick: t16,
247
+ exceptionallySetClassName: t17,
248
+ children,
249
+ icon: t18
250
+ } = t0,
251
+ t19 = _objectWithoutProperties(t0, _excluded2);
252
+ variant = t7;
253
+ t1 = t8;
254
+ t2 = t9;
255
+ t3 = t10;
256
+ t4 = t11;
257
+ t5 = t12;
258
+ t6 = t13;
259
+ tooltip = t14;
260
+ render = t15;
261
+ onClick = t16;
262
+ exceptionallySetClassName = t17;
263
+ icon = t18;
264
+ props = t19;
265
+ $[0] = t0;
266
+ $[1] = exceptionallySetClassName;
267
+ $[2] = icon;
268
+ $[3] = onClick;
269
+ $[4] = props;
270
+ $[5] = render;
271
+ $[6] = t1;
272
+ $[7] = t2;
273
+ $[8] = t3;
274
+ $[9] = t4;
275
+ $[10] = t5;
276
+ $[11] = t6;
277
+ $[12] = tooltip;
278
+ $[13] = variant;
279
+ } else {
280
+ exceptionallySetClassName = $[1];
281
+ icon = $[2];
282
+ onClick = $[3];
283
+ props = $[4];
284
+ render = $[5];
285
+ t1 = $[6];
286
+ t2 = $[7];
287
+ t3 = $[8];
288
+ t4 = $[9];
289
+ t5 = $[10];
290
+ t6 = $[11];
291
+ tooltip = $[12];
292
+ variant = $[13];
293
+ }
294
+ const tone = t1 === undefined ? "normal" : t1;
295
+ const size = t2 === undefined ? "normal" : t2;
296
+ const shape = t3 === undefined ? "normal" : t3;
297
+ const type = t4 === undefined ? "button" : t4;
298
+ const disabled = t5 === undefined ? false : t5;
299
+ const loading = t6 === undefined ? false : t6;
300
+ const isDisabled = loading || disabled;
301
+ const t7 = render != null ? undefined : type;
302
+ const t8 = isDisabled ? preventDefault : onClick;
303
+ const t9 = modules_5357ebb8[`variant-${variant}`];
304
+ const t10 = modules_5357ebb8[`tone-${tone}`];
305
+ const t11 = modules_5357ebb8[`size-${size}`];
306
+ const t12 = shape === "rounded" ? modules_5357ebb8["shape-rounded"] : null;
307
+ const t13 = disabled ? modules_5357ebb8.disabled : null;
308
+ let t14;
309
+ if ($[14] !== exceptionallySetClassName || $[15] !== t10 || $[16] !== t11 || $[17] !== t12 || $[18] !== t13 || $[19] !== t9) {
310
+ t14 = classNames([exceptionallySetClassName, modules_5357ebb8.baseButton, t9, t10, t11, t12, modules_5357ebb8.iconButton, t13]);
311
+ $[14] = exceptionallySetClassName;
312
+ $[15] = t10;
313
+ $[16] = t11;
314
+ $[17] = t12;
315
+ $[18] = t13;
316
+ $[19] = t9;
317
+ $[20] = t14;
318
+ } else {
319
+ t14 = $[20];
320
+ }
321
+ let t15;
322
+ if ($[21] !== icon || $[22] !== loading) {
323
+ t15 = loading && /*#__PURE__*/React.createElement(Spinner, null) || icon;
324
+ $[21] = icon;
325
+ $[22] = loading;
326
+ $[23] = t15;
327
+ } else {
328
+ t15 = $[23];
329
+ }
330
+ let t16;
331
+ if ($[24] !== isDisabled || $[25] !== props || $[26] !== ref || $[27] !== render || $[28] !== t14 || $[29] !== t15 || $[30] !== t7 || $[31] !== t8) {
332
+ t16 = /*#__PURE__*/React.createElement(Role.button, _extends({}, props, {
333
+ render: render,
334
+ type: t7,
335
+ ref: ref,
336
+ "aria-disabled": isDisabled,
337
+ onClick: t8,
338
+ className: t14
339
+ }), t15);
340
+ $[24] = isDisabled;
341
+ $[25] = props;
342
+ $[26] = ref;
343
+ $[27] = render;
344
+ $[28] = t14;
345
+ $[29] = t15;
346
+ $[30] = t7;
347
+ $[31] = t8;
348
+ $[32] = t16;
349
+ } else {
350
+ t16 = $[32];
351
+ }
352
+ const buttonElement = t16;
353
+ const tooltipContent = tooltip === undefined ? props["aria-label"] : tooltip;
354
+ let t17;
355
+ if ($[33] !== buttonElement || $[34] !== tooltipContent) {
356
+ t17 = tooltipContent ? /*#__PURE__*/React.createElement(Tooltip, {
357
+ content: tooltipContent
358
+ }, buttonElement) : buttonElement;
359
+ $[33] = buttonElement;
360
+ $[34] = tooltipContent;
361
+ $[35] = t17;
362
+ } else {
363
+ t17 = $[35];
364
+ }
365
+ return t17;
56
366
  });
57
367
 
58
368
  export { Button, IconButton };
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","sources":["../../src/button/button.tsx"],"sourcesContent":[null],"names":["styles"],"mappings":"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"}
1
+ {"version":3,"file":"button.js","sources":["../../src/button/button.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { Role } from '@ariakit/react'\nimport classNames from 'classnames'\n\nimport { Box, getBoxClassNames } from '../box'\nimport { Spinner } from '../spinner'\nimport { Tooltip } from '../tooltip'\n\nimport styles from './button.module.css'\n\nimport type { RoleProps } from '@ariakit/react'\nimport type { TooltipProps } from '../tooltip'\nimport type { ObfuscatedClassName } from '../utils/common-types'\n\nfunction preventDefault(event: React.SyntheticEvent) {\n event.preventDefault()\n}\n\ntype ButtonVariant = 'primary' | 'secondary' | 'tertiary' | 'quaternary'\ntype ButtonTone = 'normal' | 'destructive'\ntype ButtonSize = 'small' | 'normal' | 'large'\ntype IconElement = React.ReactElement | string\n\ninterface CommonButtonProps\n extends ObfuscatedClassName,\n Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'className'>,\n Pick<RoleProps, 'render'> {\n /**\n * The button's variant.\n */\n variant: ButtonVariant\n\n /**\n * The button's tone.\n *\n * @default 'normal'\n */\n tone?: ButtonTone\n\n /**\n * The button's size.\n *\n * @default 'normal'\n */\n size?: ButtonSize\n\n /**\n * Controls the shape of the button.\n *\n * Specifically, it allows to make it have slightly curved corners (the default) vs. having them\n * fully curved to the point that they are as round as possible.\n *\n * In icon-only buttons this allows to have the button be circular.\n *\n * @default 'normal'\n */\n shape?: 'normal' | 'rounded'\n\n /**\n * Whether the button is disabled or not.\n *\n * Buttons are disabled using aria-disabled, rather than the HTML disabled attribute. This\n * allows the buttons to be focusable, which can aid discoverability. This way, users can tab to\n * the button and read its label, even if they can't activate it.\n *\n * It is also convenient when buttons are rendered as a link. Links cannot normally be disabled,\n * but by using aria-disabled, we can make them behave as if they were.\n *\n * The `onClick` handler is automatically prevented when the button is disabled in this way, to\n * mimic the behavior of a native disabled attribute.\n *\n * @default false\n */\n disabled?: boolean\n\n /**\n * Whether the button is busy/loading.\n *\n * A button in this state is functionally and semantically disabled. Visually is does not look\n * dimmed (as disabled buttons normally do), but it shows a loading spinner instead.\n *\n * @default false\n */\n loading?: boolean\n\n /**\n * A tooltip linked to the button element.\n */\n tooltip?: TooltipProps['content']\n\n /**\n * The type of the button.\n *\n * @default 'button'\n */\n type?: 'button' | 'submit' | 'reset'\n}\n\ninterface ButtonProps extends CommonButtonProps {\n /**\n * The button label content.\n */\n children?: React.ReactNode\n\n /**\n * The icon to display at the start of the button (before the label).\n */\n startIcon?: IconElement\n\n /**\n * The icon to display at the end of the button (after the label).\n */\n endIcon?: IconElement\n\n /**\n * The width of the button.\n *\n * - `'auto'`: The button will be as wide as its content.\n * - `'full'`: The button will be as wide as its container.\n *\n * @default 'auto'\n */\n width?: 'auto' | 'full'\n\n /**\n * The alignment of the button label inside the button.\n *\n * @default 'center'\n */\n align?: 'start' | 'center' | 'end'\n}\n\n/**\n * A button element that displays a text label and optionally a start or end icon. It follows the\n * [WAI-ARIA Button Pattern](https://www.w3.org/TR/wai-aria-practices/#button).\n */\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(function Button(\n {\n variant,\n tone = 'normal',\n size = 'normal',\n shape = 'normal',\n type = 'button',\n disabled = false,\n loading = false,\n tooltip,\n render,\n onClick,\n exceptionallySetClassName,\n children,\n startIcon,\n endIcon,\n width = 'auto',\n align = 'center',\n ...props\n },\n ref,\n) {\n const isDisabled = loading || disabled\n const buttonElement = (\n <Role.button\n {...props}\n render={render}\n type={render != null ? undefined : type}\n ref={ref}\n aria-disabled={isDisabled}\n onClick={isDisabled ? preventDefault : onClick}\n className={classNames([\n getBoxClassNames({ width }),\n exceptionallySetClassName,\n styles.baseButton,\n styles[`variant-${variant}`],\n styles[`tone-${tone}`],\n styles[`size-${size}`],\n shape === 'rounded' ? styles['shape-rounded'] : null,\n disabled ? styles.disabled : null,\n ])}\n >\n <>\n {startIcon ? (\n <Box display=\"flex\" className={styles.startIcon} aria-hidden>\n {loading && !endIcon ? <Spinner /> : startIcon}\n </Box>\n ) : null}\n\n {children ? (\n <Box\n as=\"span\"\n className={styles.label}\n overflow=\"hidden\"\n width={width === 'full' ? 'full' : undefined}\n textAlign={width === 'auto' ? 'center' : align}\n >\n {children}\n </Box>\n ) : null}\n\n {endIcon || (loading && !startIcon) ? (\n <Box display=\"flex\" className={styles.endIcon} aria-hidden>\n {loading ? <Spinner /> : endIcon}\n </Box>\n ) : null}\n </>\n </Role.button>\n )\n\n return tooltip ? <Tooltip content={tooltip}>{buttonElement}</Tooltip> : buttonElement\n})\n\ninterface IconButtonProps extends CommonButtonProps {\n /**\n * The icon to display inside the button.\n */\n icon: IconElement\n\n /**\n * The button label.\n *\n * It is used for assistive technologies, and it is also shown as a tooltip (if not tooltip is\n * provided explicitly).\n */\n 'aria-label': string\n}\n\n/**\n * A button element that displays an icon only, visually, though it is semantically labelled. It\n * also makes sure to always show a tooltip with its label. It follows the\n * [WAI-ARIA Button Pattern](https://www.w3.org/TR/wai-aria-practices/#button).\n */\nconst IconButton = React.forwardRef<HTMLButtonElement, IconButtonProps>(function IconButton(\n {\n variant,\n tone = 'normal',\n size = 'normal',\n shape = 'normal',\n type = 'button',\n disabled = false,\n loading = false,\n tooltip,\n render,\n onClick,\n exceptionallySetClassName,\n children,\n icon,\n ...props\n },\n ref,\n) {\n const isDisabled = loading || disabled\n const buttonElement = (\n <Role.button\n {...props}\n render={render}\n type={render != null ? undefined : type}\n ref={ref}\n aria-disabled={isDisabled}\n onClick={isDisabled ? preventDefault : onClick}\n className={classNames([\n exceptionallySetClassName,\n styles.baseButton,\n styles[`variant-${variant}`],\n styles[`tone-${tone}`],\n styles[`size-${size}`],\n shape === 'rounded' ? styles['shape-rounded'] : null,\n styles.iconButton,\n disabled ? styles.disabled : null,\n ])}\n >\n {(loading && <Spinner />) || icon}\n </Role.button>\n )\n\n const tooltipContent = tooltip === undefined ? props['aria-label'] : tooltip\n return tooltipContent ? (\n <Tooltip content={tooltipContent}>{buttonElement}</Tooltip>\n ) : (\n buttonElement\n )\n})\n\nexport type { ButtonProps, ButtonTone, ButtonVariant, IconButtonProps }\nexport { Button, IconButton }\n"],"names":["preventDefault","event","Button","React","forwardRef","t0","ref","$","_c","children","endIcon","exceptionallySetClassName","onClick","props","render","startIcon","t1","t2","t3","t4","t5","t6","t7","t8","tooltip","variant","_t","tone","size","shape","type","disabled","loading","width","align","_objectWithoutProperties","_excluded","undefined","isDisabled","t9","t10","t11","classNames","getBoxClassNames","styles","baseButton","t12","createElement","Box","display","className","Spinner","t13","as","label","overflow","textAlign","t14","t15","Fragment","t16","Role","button","_extends","buttonElement","t17","Tooltip","IconButton","icon","t18","t19","_excluded2","iconButton","tooltipContent"],"mappings":"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"}
@@ -1,58 +1,81 @@
1
- import { __rest, __assign } from 'tslib';
1
+ import _extends from '@babel/runtime/helpers/extends';
2
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
2
3
  import * as React from 'react';
3
- import { Box } from '../box/box.js';
4
- import { Text } from '../text/text.js';
5
4
  import { CheckboxIcon } from './checkbox-icon.js';
6
5
  import { useForkRef } from './use-fork-ref.js';
7
6
  import modules_664a6a80 from './checkbox-field.module.css.js';
7
+ import { Box } from '../box/box.js';
8
+ import { Text } from '../text/text.js';
8
9
 
9
- var CheckboxField = React.forwardRef(function CheckboxField(_a, ref) {
10
- var _b, _c, _d;
11
- var label = _a.label, icon = _a.icon, disabled = _a.disabled, indeterminate = _a.indeterminate, defaultChecked = _a.defaultChecked, onChange = _a.onChange, props = __rest(_a, ["label", "icon", "disabled", "indeterminate", "defaultChecked", "onChange"]);
12
- var isControlledComponent = typeof props.checked === 'boolean';
13
- if (typeof indeterminate === 'boolean' && !isControlledComponent) {
14
- // eslint-disable-next-line no-console
15
- console.warn('Cannot use indeterminate on an uncontrolled checkbox');
16
- indeterminate = undefined;
10
+ const _excluded = ["label", "icon", "disabled", "indeterminate", "defaultChecked", "onChange"];
11
+ const CheckboxField = /*#__PURE__*/React.forwardRef(function CheckboxField(_ref, ref) {
12
+ let {
13
+ label,
14
+ icon,
15
+ disabled,
16
+ indeterminate,
17
+ defaultChecked,
18
+ onChange
19
+ } = _ref,
20
+ props = _objectWithoutProperties(_ref, _excluded);
21
+ const isControlledComponent = typeof props.checked === 'boolean';
22
+ if (typeof indeterminate === 'boolean' && !isControlledComponent) {
23
+ // eslint-disable-next-line no-console
24
+ console.warn('Cannot use indeterminate on an uncontrolled checkbox');
25
+ indeterminate = undefined;
26
+ }
27
+ if (!label && !props['aria-label'] && !props['aria-labelledby']) {
28
+ // eslint-disable-next-line no-console
29
+ console.warn('A Checkbox needs a label');
30
+ }
31
+ const [keyFocused, setKeyFocused] = React.useState(false);
32
+ const [checkedState, setChecked] = React.useState(props.checked ?? defaultChecked ?? false);
33
+ const isChecked = props.checked ?? checkedState;
34
+ const internalRef = React.useRef(null);
35
+ const combinedRef = useForkRef(internalRef, ref);
36
+ React.useEffect(function setIndeterminate() {
37
+ if (internalRef.current && typeof indeterminate === 'boolean') {
38
+ internalRef.current.indeterminate = indeterminate;
17
39
  }
18
- if (!label && !props['aria-label'] && !props['aria-labelledby']) {
19
- // eslint-disable-next-line no-console
20
- console.warn('A Checkbox needs a label');
40
+ }, [indeterminate]);
41
+ return /*#__PURE__*/React.createElement(Box, {
42
+ as: "label",
43
+ display: "flex",
44
+ alignItems: "center",
45
+ className: [modules_664a6a80.container, disabled ? modules_664a6a80.disabled : null, isChecked ? modules_664a6a80.checked : null, keyFocused ? modules_664a6a80.keyFocused : null]
46
+ }, /*#__PURE__*/React.createElement("input", _extends({}, props, {
47
+ ref: combinedRef,
48
+ type: "checkbox",
49
+ "aria-checked": indeterminate ? 'mixed' : isChecked,
50
+ checked: isChecked,
51
+ disabled: disabled,
52
+ onChange: event => {
53
+ onChange?.(event);
54
+ if (!event.defaultPrevented) {
55
+ setChecked(event.currentTarget.checked);
56
+ }
57
+ },
58
+ onBlur: event_0 => {
59
+ setKeyFocused(false);
60
+ props?.onBlur?.(event_0);
61
+ },
62
+ onKeyUp: event_1 => {
63
+ setKeyFocused(true);
64
+ props?.onKeyUp?.(event_1);
21
65
  }
22
- var _e = React.useState(false), keyFocused = _e[0], setKeyFocused = _e[1];
23
- var _f = React.useState((_c = (_b = props.checked) !== null && _b !== void 0 ? _b : defaultChecked) !== null && _c !== void 0 ? _c : false), checkedState = _f[0], setChecked = _f[1];
24
- var isChecked = (_d = props.checked) !== null && _d !== void 0 ? _d : checkedState;
25
- var internalRef = React.useRef(null);
26
- var combinedRef = useForkRef(internalRef, ref);
27
- React.useEffect(function setIndeterminate() {
28
- if (internalRef.current && typeof indeterminate === 'boolean') {
29
- internalRef.current.indeterminate = indeterminate;
30
- }
31
- }, [indeterminate]);
32
- return (React.createElement(Box, { as: "label", display: "flex", alignItems: "center", className: [
33
- modules_664a6a80.container,
34
- disabled ? modules_664a6a80.disabled : null,
35
- isChecked ? modules_664a6a80.checked : null,
36
- keyFocused ? modules_664a6a80.keyFocused : null,
37
- ] },
38
- React.createElement("input", __assign({}, props, { ref: combinedRef, type: "checkbox", "aria-checked": indeterminate ? 'mixed' : isChecked, checked: isChecked, disabled: disabled, onChange: function (event) {
39
- onChange === null || onChange === void 0 ? void 0 : onChange(event);
40
- if (!event.defaultPrevented) {
41
- setChecked(event.currentTarget.checked);
42
- }
43
- }, onBlur: function (event) {
44
- var _a;
45
- setKeyFocused(false);
46
- (_a = props === null || props === void 0 ? void 0 : props.onBlur) === null || _a === void 0 ? void 0 : _a.call(props, event);
47
- }, onKeyUp: function (event) {
48
- var _a;
49
- setKeyFocused(true);
50
- (_a = props === null || props === void 0 ? void 0 : props.onKeyUp) === null || _a === void 0 ? void 0 : _a.call(props, event);
51
- } })),
52
- React.createElement(CheckboxIcon, { checked: isChecked, disabled: disabled, indeterminate: indeterminate, "aria-hidden": true }),
53
- icon ? (React.createElement(Box, { display: "flex", className: modules_664a6a80.icon, "aria-hidden": true }, icon)) : null,
54
- label ? (React.createElement(Box, { display: "flex", className: modules_664a6a80.label },
55
- React.createElement(Text, null, label))) : null));
66
+ })), /*#__PURE__*/React.createElement(CheckboxIcon, {
67
+ checked: isChecked,
68
+ disabled: disabled,
69
+ indeterminate: indeterminate,
70
+ "aria-hidden": true
71
+ }), icon ? /*#__PURE__*/React.createElement(Box, {
72
+ display: "flex",
73
+ className: modules_664a6a80.icon,
74
+ "aria-hidden": true
75
+ }, icon) : null, label ? /*#__PURE__*/React.createElement(Box, {
76
+ display: "flex",
77
+ className: modules_664a6a80.label
78
+ }, /*#__PURE__*/React.createElement(Text, null, label)) : null);
56
79
  });
57
80
 
58
81
  export { CheckboxField };
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox-field.js","sources":["../../src/checkbox-field/checkbox-field.tsx"],"sourcesContent":[null],"names":["styles"],"mappings":";;;;;;;;AAgEM,IAAA,aAAa,GAAG,KAAK,CAAC,UAAU,CAAuC,SAAS,aAAa,CAC/F,EAA4E,EAC5E,GAAG,EAAA;;IADD,IAAA,KAAK,WAAA,EAAE,IAAI,UAAA,EAAE,QAAQ,cAAA,EAAE,aAAa,mBAAA,EAAE,cAAc,oBAAA,EAAE,QAAQ,cAAA,EAAK,KAAK,GAA1E,MAAA,CAAA,EAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,UAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,UAAA,CAA4E,CAAF,CAAA;IAG1E,IAAM,qBAAqB,GAAG,OAAO,KAAK,CAAC,OAAO,KAAK,SAAS,CAAA;IAChE,IAAI,OAAO,aAAa,KAAK,SAAS,IAAI,CAAC,qBAAqB,EAAE;;AAE9D,QAAA,OAAO,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAA;QACpE,aAAa,GAAG,SAAS,CAAA;KAC5B;AAED,IAAA,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE;;AAE7D,QAAA,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;KAC3C;AAEK,IAAA,IAAA,EAA8B,GAAA,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAlD,UAAU,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,aAAa,QAAyB,CAAA;IACnD,IAAA,EAAA,GAA6B,KAAK,CAAC,QAAQ,CAAC,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAK,CAAC,OAAO,mCAAI,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,KAAK,CAAC,EAApF,YAAY,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,UAAU,GAAA,EAAA,CAAA,CAAA,CAA4D,CAAA;IAC3F,IAAM,SAAS,GAAG,CAAA,EAAA,GAAA,KAAK,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,YAAY,CAAA;IAE/C,IAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAmB,IAAI,CAAC,CAAA;IACxD,IAAM,WAAW,GAAG,UAAU,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;AAChD,IAAA,KAAK,CAAC,SAAS,CACX,SAAS,gBAAgB,GAAA;QACrB,IAAI,WAAW,CAAC,OAAO,IAAI,OAAO,aAAa,KAAK,SAAS,EAAE;AAC3D,YAAA,WAAW,CAAC,OAAO,CAAC,aAAa,GAAG,aAAa,CAAA;SACpD;AACL,KAAC,EACD,CAAC,aAAa,CAAC,CAClB,CAAA;AAED,IAAA,QACI,KAAC,CAAA,aAAA,CAAA,GAAG,EACA,EAAA,EAAE,EAAC,OAAO,EACV,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,EACnB,SAAS,EAAE;AACP,YAAAA,gBAAM,CAAC,SAAS;YAChB,QAAQ,GAAGA,gBAAM,CAAC,QAAQ,GAAG,IAAI;YACjC,SAAS,GAAGA,gBAAM,CAAC,OAAO,GAAG,IAAI;YACjC,UAAU,GAAGA,gBAAM,CAAC,UAAU,GAAG,IAAI;AACxC,SAAA,EAAA;AAED,QAAA,KAAA,CAAA,aAAA,CAAA,OAAA,EAAA,QAAA,CAAA,EAAA,EACQ,KAAK,EAAA,EACT,GAAG,EAAE,WAAW,EAChB,IAAI,EAAC,UAAU,EAAA,cAAA,EACD,aAAa,GAAG,OAAO,GAAG,SAAS,EACjD,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,UAAC,KAAK,EAAA;AACZ,gBAAA,QAAQ,aAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAG,KAAK,CAAC,CAAA;AACjB,gBAAA,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;AACzB,oBAAA,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;iBAC1C;AACL,aAAC,EACD,MAAM,EAAE,UAAC,KAAK,EAAA;;gBACV,aAAa,CAAC,KAAK,CAAC,CAAA;gBACpB,CAAA,EAAA,GAAA,KAAK,KAAL,IAAA,IAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,KAAK,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,EAAG,KAAK,CAAC,CAAA;AAC1B,aAAC,EACD,OAAO,EAAE,UAAC,KAAK,EAAA;;gBACX,aAAa,CAAC,IAAI,CAAC,CAAA;gBACnB,CAAA,EAAA,GAAA,KAAK,KAAL,IAAA,IAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,KAAK,CAAE,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,EAAG,KAAK,CAAC,CAAA;AAC3B,aAAC,EACH,CAAA,CAAA;AACF,QAAA,KAAA,CAAA,aAAA,CAAC,YAAY,EAAA,EACT,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,aAAa,EAE9B,aAAA,EAAA,IAAA,EAAA,CAAA;QACD,IAAI,IACD,oBAAC,GAAG,EAAA,EAAC,OAAO,EAAC,MAAM,EAAC,SAAS,EAAEA,gBAAM,CAAC,IAAI,EACrC,aAAA,EAAA,IAAA,EAAA,EAAA,IAAI,CACH,IACN,IAAI;AACP,QAAA,KAAK,IACF,oBAAC,GAAG,EAAA,EAAC,OAAO,EAAC,MAAM,EAAC,SAAS,EAAEA,gBAAM,CAAC,KAAK,EAAA;AACvC,YAAA,KAAA,CAAA,aAAA,CAAC,IAAI,EAAA,IAAA,EAAE,KAAK,CAAQ,CAClB,IACN,IAAI,CACN,EACT;AACL,CAAC;;;;"}
1
+ {"version":3,"file":"checkbox-field.js","sources":["../../src/checkbox-field/checkbox-field.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { Box } from '../box'\nimport { Text } from '../text'\n\nimport { CheckboxIcon } from './checkbox-icon'\nimport { useForkRef } from './use-fork-ref'\n\nimport styles from './checkbox-field.module.css'\n\ninterface CheckboxFieldProps\n extends Omit<\n JSX.IntrinsicElements['input'],\n | 'type'\n | 'className'\n | 'disabled'\n | 'aria-controls'\n | 'aria-describedby'\n | 'aria-label'\n | 'aria-labelledby'\n > {\n 'aria-checked'?: never\n /**\n *\n * Identifies the set of checkboxes controlled by the mixed checkbox for assistive technologies.\n */\n 'aria-controls'?: string\n\n /**\n * Identifies the element (or elements) that describes the checkbox for assistive technologies.\n */\n 'aria-describedby'?: string\n\n /**\n * Defines a string value that labels the current checkbox for assistive technologies.\n */\n 'aria-label'?: string\n\n /**\n * Identifies the element (or elements) that labels the current checkbox for assistive technologies.\n */\n 'aria-labelledby'?: string\n\n /**\n * Defines whether or not the checkbox is disabled.\n */\n disabled?: boolean\n\n /**\n * The label for the checkbox element.\n */\n label?: React.ReactNode\n\n /**\n * The icon that should be added to the checkbox label.\n */\n icon?: React.ReactElement | string | number\n\n /**\n * Defines whether or not the checkbox can be of a `mixed` state.\n */\n indeterminate?: boolean\n}\n\nconst CheckboxField = React.forwardRef<HTMLInputElement, CheckboxFieldProps>(function CheckboxField(\n { label, icon, disabled, indeterminate, defaultChecked, onChange, ...props },\n ref,\n) {\n const isControlledComponent = typeof props.checked === 'boolean'\n if (typeof indeterminate === 'boolean' && !isControlledComponent) {\n // eslint-disable-next-line no-console\n console.warn('Cannot use indeterminate on an uncontrolled checkbox')\n indeterminate = undefined\n }\n\n if (!label && !props['aria-label'] && !props['aria-labelledby']) {\n // eslint-disable-next-line no-console\n console.warn('A Checkbox needs a label')\n }\n\n const [keyFocused, setKeyFocused] = React.useState(false)\n const [checkedState, setChecked] = React.useState(props.checked ?? defaultChecked ?? false)\n const isChecked = props.checked ?? checkedState\n\n const internalRef = React.useRef<HTMLInputElement>(null)\n const combinedRef = useForkRef(internalRef, ref)\n React.useEffect(\n function setIndeterminate() {\n if (internalRef.current && typeof indeterminate === 'boolean') {\n internalRef.current.indeterminate = indeterminate\n }\n },\n [indeterminate],\n )\n\n return (\n <Box\n as=\"label\"\n display=\"flex\"\n alignItems=\"center\"\n className={[\n styles.container,\n disabled ? styles.disabled : null,\n isChecked ? styles.checked : null,\n keyFocused ? styles.keyFocused : null,\n ]}\n >\n <input\n {...props}\n ref={combinedRef}\n type=\"checkbox\"\n aria-checked={indeterminate ? 'mixed' : isChecked}\n checked={isChecked}\n disabled={disabled}\n onChange={(event) => {\n onChange?.(event)\n if (!event.defaultPrevented) {\n setChecked(event.currentTarget.checked)\n }\n }}\n onBlur={(event) => {\n setKeyFocused(false)\n props?.onBlur?.(event)\n }}\n onKeyUp={(event) => {\n setKeyFocused(true)\n props?.onKeyUp?.(event)\n }}\n />\n <CheckboxIcon\n checked={isChecked}\n disabled={disabled}\n indeterminate={indeterminate}\n aria-hidden\n />\n {icon ? (\n <Box display=\"flex\" className={styles.icon} aria-hidden>\n {icon}\n </Box>\n ) : null}\n {label ? (\n <Box display=\"flex\" className={styles.label}>\n <Text>{label}</Text>\n </Box>\n ) : null}\n </Box>\n )\n})\n\nexport { CheckboxField }\nexport type { CheckboxFieldProps }\n"],"names":["CheckboxField","React","forwardRef","_ref","ref","label","icon","disabled","indeterminate","defaultChecked","onChange","props","_objectWithoutProperties","_excluded","isControlledComponent","checked","console","warn","undefined","keyFocused","setKeyFocused","useState","checkedState","setChecked","isChecked","internalRef","useRef","combinedRef","useForkRef","useEffect","setIndeterminate","current","createElement","Box","as","display","alignItems","className","styles","container","_extends","type","event","defaultPrevented","currentTarget","onBlur","onKeyUp","CheckboxIcon","Text"],"mappings":"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"}