@doist/reactist 29.1.1 → 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 +7 -0
  2. package/dist/reactist.cjs.development.js +6749 -1832
  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 -19
  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 -17
  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,99 +1,389 @@
1
- import { __assign } from 'tslib';
1
+ import _objectSpread from '@babel/runtime/helpers/objectSpread2';
2
+ import { c } from 'react-compiler-runtime';
2
3
  import * as React from 'react';
3
- import { Box } from '../box/box.js';
4
+ import { useId } from '../utils/common-helpers.js';
5
+ import modules_540a88ff from './base-field.module.css.js';
4
6
  import { Columns, Column } from '../columns/columns.js';
7
+ import { Box } from '../box/box.js';
5
8
  import { Spinner } from '../spinner/spinner.js';
6
- import { Stack } from '../stack/stack.js';
7
9
  import { Text } from '../text/text.js';
8
- import { useId } from '../utils/common-helpers.js';
9
- import modules_540a88ff from './base-field.module.css.js';
10
+ import { Stack } from '../stack/stack.js';
10
11
 
11
12
  // Define the remaining characters before the character count turns red
12
13
  // See: https://twist.com/a/1585/ch/765851/t/6664583/c/93631846 for latest spec
13
- var MAX_LENGTH_THRESHOLD = 0;
14
+ const MAX_LENGTH_THRESHOLD = 0;
14
15
  function fieldToneToTextTone(tone) {
15
- return tone === 'error' ? 'danger' : tone === 'success' ? 'positive' : 'secondary';
16
+ return tone === 'error' ? 'danger' : tone === 'success' ? 'positive' : 'secondary';
16
17
  }
17
- function FieldMessage(_a) {
18
- var id = _a.id, children = _a.children, tone = _a.tone;
19
- return (React.createElement(Text, { as: "p", tone: fieldToneToTextTone(tone), size: "copy", id: id },
20
- tone === 'loading' ? (React.createElement(Box, { as: "span", marginRight: "xsmall", display: "inlineFlex", className: modules_540a88ff.loadingIcon },
21
- React.createElement(Spinner, { size: 16 }))) : null,
22
- children));
18
+ function FieldMessage(t0) {
19
+ const $ = c(9);
20
+ const {
21
+ id,
22
+ children,
23
+ tone
24
+ } = t0;
25
+ let t1;
26
+ if ($[0] !== tone) {
27
+ t1 = fieldToneToTextTone(tone);
28
+ $[0] = tone;
29
+ $[1] = t1;
30
+ } else {
31
+ t1 = $[1];
32
+ }
33
+ let t2;
34
+ if ($[2] !== tone) {
35
+ t2 = tone === "loading" ? /*#__PURE__*/React.createElement(Box, {
36
+ as: "span",
37
+ marginRight: "xsmall",
38
+ display: "inlineFlex",
39
+ className: modules_540a88ff.loadingIcon
40
+ }, /*#__PURE__*/React.createElement(Spinner, {
41
+ size: 16
42
+ })) : null;
43
+ $[2] = tone;
44
+ $[3] = t2;
45
+ } else {
46
+ t2 = $[3];
47
+ }
48
+ let t3;
49
+ if ($[4] !== children || $[5] !== id || $[6] !== t1 || $[7] !== t2) {
50
+ t3 = /*#__PURE__*/React.createElement(Text, {
51
+ as: "p",
52
+ tone: t1,
53
+ size: "copy",
54
+ id: id
55
+ }, t2, children);
56
+ $[4] = children;
57
+ $[5] = id;
58
+ $[6] = t1;
59
+ $[7] = t2;
60
+ $[8] = t3;
61
+ } else {
62
+ t3 = $[8];
63
+ }
64
+ return t3;
23
65
  }
24
- function FieldCharacterCount(_a) {
25
- var children = _a.children, tone = _a.tone;
26
- return (React.createElement(Text, { tone: fieldToneToTextTone(tone), size: "copy" }, children));
66
+ function FieldCharacterCount(t0) {
67
+ const $ = c(5);
68
+ const {
69
+ children,
70
+ tone
71
+ } = t0;
72
+ let t1;
73
+ if ($[0] !== tone) {
74
+ t1 = fieldToneToTextTone(tone);
75
+ $[0] = tone;
76
+ $[1] = t1;
77
+ } else {
78
+ t1 = $[1];
79
+ }
80
+ let t2;
81
+ if ($[2] !== children || $[3] !== t1) {
82
+ t2 = /*#__PURE__*/React.createElement(Text, {
83
+ tone: t1,
84
+ size: "copy"
85
+ }, children);
86
+ $[2] = children;
87
+ $[3] = t1;
88
+ $[4] = t2;
89
+ } else {
90
+ t2 = $[4];
91
+ }
92
+ return t2;
27
93
  }
28
- function validateInputLength(_a) {
29
- var value = _a.value, maxLength = _a.maxLength;
30
- if (!maxLength) {
31
- return {
32
- count: null,
33
- tone: 'neutral',
34
- };
35
- }
36
- var currentLength = String(value || '').length;
37
- var isNearMaxLength = maxLength - currentLength <= MAX_LENGTH_THRESHOLD;
94
+ function validateInputLength({
95
+ value,
96
+ maxLength
97
+ }) {
98
+ if (!maxLength) {
38
99
  return {
39
- count: "".concat(currentLength, "/").concat(maxLength),
40
- tone: isNearMaxLength ? 'error' : 'neutral',
100
+ count: null,
101
+ tone: 'neutral'
41
102
  };
103
+ }
104
+ const currentLength = String(value || '').length;
105
+ const isNearMaxLength = maxLength - currentLength <= MAX_LENGTH_THRESHOLD;
106
+ return {
107
+ count: `${currentLength}/${maxLength}`,
108
+ tone: isNearMaxLength ? 'error' : 'neutral'
109
+ };
42
110
  }
111
+
112
+ //
113
+ // BaseField
114
+ //
115
+
43
116
  /**
44
117
  * BaseField is a base component that provides a consistent structure for form fields.
45
118
  */
46
- function BaseField(_a) {
47
- var _b = _a.variant, variant = _b === void 0 ? 'default' : _b, label = _a.label, value = _a.value, auxiliaryLabel = _a.auxiliaryLabel, message = _a.message, _c = _a.tone, tone = _c === void 0 ? 'neutral' : _c, className = _a.className, children = _a.children, maxWidth = _a.maxWidth, maxLength = _a.maxLength, hidden = _a.hidden, originalAriaDescribedBy = _a["aria-describedby"], originalId = _a.id, _d = _a.characterCountPosition, characterCountPosition = _d === void 0 ? 'below' : _d, endSlot = _a.endSlot, _e = _a.endSlotPosition, endSlotPosition = _e === void 0 ? 'bottom' : _e;
48
- var id = useId(originalId);
49
- var messageId = useId();
50
- var inputLength = validateInputLength({ value: value, maxLength: maxLength });
51
- var _f = React.useState(value), previousValue = _f[0], setPreviousValue = _f[1];
52
- var _g = React.useState(maxLength), previousMaxLength = _g[0], setPreviousMaxLength = _g[1];
53
- var _h = React.useState(inputLength.count), characterCount = _h[0], setCharacterCount = _h[1];
54
- var _j = React.useState(inputLength.tone), characterCountTone = _j[0], setCharacterCountTone = _j[1];
55
- var ariaDescribedBy = originalAriaDescribedBy !== null && originalAriaDescribedBy !== void 0 ? originalAriaDescribedBy : (message ? messageId : null);
56
- var renderCharacterCountBelow = characterCountPosition === 'below' && characterCount !== null;
57
- var renderCharacterCountInline = characterCountPosition === 'inline' && characterCount !== null;
58
- function renderCharacterCount() {
59
- return React.createElement(FieldCharacterCount, { tone: characterCountTone }, characterCount);
60
- }
61
- var childrenProps = __assign(__assign({ id: id, value: value }, (ariaDescribedBy ? { 'aria-describedby': ariaDescribedBy } : {})), { 'aria-invalid': tone === 'error' ? true : undefined, onChange: function (event) {
62
- if (!maxLength) {
63
- return;
64
- }
65
- var inputLength = validateInputLength({
66
- value: event.currentTarget.value,
67
- maxLength: maxLength,
68
- });
69
- setCharacterCount(inputLength.count);
70
- setCharacterCountTone(inputLength.tone);
71
- },
72
- // If the character count is inline, we pass it as a prop to the children element so it can be rendered inline
73
- characterCountElement: renderCharacterCountInline ? renderCharacterCount() : null });
119
+ function BaseField(t0) {
120
+ const $ = c(74);
121
+ const {
122
+ variant: t1,
123
+ label,
124
+ value,
125
+ auxiliaryLabel,
126
+ message,
127
+ tone: t2,
128
+ className,
129
+ children,
130
+ maxWidth,
131
+ maxLength,
132
+ hidden,
133
+ "aria-describedby": originalAriaDescribedBy,
134
+ id: originalId,
135
+ characterCountPosition: t3,
136
+ endSlot,
137
+ endSlotPosition: t4
138
+ } = t0;
139
+ const variant = t1 === undefined ? "default" : t1;
140
+ const tone = t2 === undefined ? "neutral" : t2;
141
+ const characterCountPosition = t3 === undefined ? "below" : t3;
142
+ const endSlotPosition = t4 === undefined ? "bottom" : t4;
143
+ const id = useId(originalId);
144
+ const messageId = useId();
145
+ let t5;
146
+ if ($[0] !== maxLength || $[1] !== value) {
147
+ t5 = validateInputLength({
148
+ value,
149
+ maxLength
150
+ });
151
+ $[0] = maxLength;
152
+ $[1] = value;
153
+ $[2] = t5;
154
+ } else {
155
+ t5 = $[2];
156
+ }
157
+ const inputLength = t5;
158
+ const [previousValue, setPreviousValue] = React.useState(value);
159
+ const [previousMaxLength, setPreviousMaxLength] = React.useState(maxLength);
160
+ const [characterCount, setCharacterCount] = React.useState(inputLength.count);
161
+ const [characterCountTone, setCharacterCountTone] = React.useState(inputLength.tone);
162
+ const ariaDescribedBy = originalAriaDescribedBy ?? (message ? messageId : null);
163
+ const renderCharacterCountBelow = characterCountPosition === "below" && characterCount !== null;
164
+ const renderCharacterCountInline = characterCountPosition === "inline" && characterCount !== null;
165
+ let t6;
166
+ if ($[3] !== characterCount || $[4] !== characterCountTone) {
167
+ t6 = function renderCharacterCount() {
168
+ return /*#__PURE__*/React.createElement(FieldCharacterCount, {
169
+ tone: characterCountTone
170
+ }, characterCount);
171
+ };
172
+ $[3] = characterCount;
173
+ $[4] = characterCountTone;
174
+ $[5] = t6;
175
+ } else {
176
+ t6 = $[5];
177
+ }
178
+ const renderCharacterCount = t6;
179
+ let T0;
180
+ let T1;
181
+ let T2;
182
+ let t10;
183
+ let t11;
184
+ let t12;
185
+ let t13;
186
+ let t14;
187
+ let t15;
188
+ let t16;
189
+ let t7;
190
+ let t8;
191
+ let t9;
192
+ if ($[6] !== ariaDescribedBy || $[7] !== auxiliaryLabel || $[8] !== children || $[9] !== className || $[10] !== hidden || $[11] !== id || $[12] !== inputLength.count || $[13] !== inputLength.tone || $[14] !== label || $[15] !== maxLength || $[16] !== maxWidth || $[17] !== previousMaxLength || $[18] !== previousValue || $[19] !== renderCharacterCount || $[20] !== renderCharacterCountInline || $[21] !== tone || $[22] !== value || $[23] !== variant) {
193
+ const childrenProps = _objectSpread(_objectSpread({
194
+ id,
195
+ value
196
+ }, ariaDescribedBy ? {
197
+ "aria-describedby": ariaDescribedBy
198
+ } : {}), {}, {
199
+ "aria-invalid": tone === "error" ? true : undefined,
200
+ onChange(event) {
201
+ if (!maxLength) {
202
+ return;
203
+ }
204
+ const inputLength_0 = validateInputLength({
205
+ value: event.currentTarget.value,
206
+ maxLength
207
+ });
208
+ setCharacterCount(inputLength_0.count);
209
+ setCharacterCountTone(inputLength_0.tone);
210
+ },
211
+ characterCountElement: renderCharacterCountInline ? renderCharacterCount() : null
212
+ });
74
213
  if (value !== previousValue || maxLength !== previousMaxLength) {
75
- setPreviousValue(value);
76
- setPreviousMaxLength(maxLength);
77
- setCharacterCount(inputLength.count);
78
- setCharacterCountTone(inputLength.tone);
214
+ setPreviousValue(value);
215
+ setPreviousMaxLength(maxLength);
216
+ setCharacterCount(inputLength.count);
217
+ setCharacterCountTone(inputLength.tone);
218
+ }
219
+ T2 = Stack;
220
+ t15 = "xsmall";
221
+ t16 = hidden;
222
+ T1 = Box;
223
+ t10 = "flex";
224
+ t11 = "row";
225
+ const t17 = tone === "error" ? modules_540a88ff.error : null;
226
+ const t18 = variant === "bordered" ? modules_540a88ff.bordered : null;
227
+ if ($[37] !== className || $[38] !== t17 || $[39] !== t18) {
228
+ t12 = [className, modules_540a88ff.container, t17, t18];
229
+ $[37] = className;
230
+ $[38] = t17;
231
+ $[39] = t18;
232
+ $[40] = t12;
233
+ } else {
234
+ t12 = $[40];
235
+ }
236
+ t13 = maxWidth;
237
+ t14 = "center";
238
+ T0 = Box;
239
+ t7 = 1;
240
+ if ($[41] !== auxiliaryLabel || $[42] !== id || $[43] !== label || $[44] !== variant) {
241
+ t8 = label || auxiliaryLabel ? /*#__PURE__*/React.createElement(Box, {
242
+ as: "span",
243
+ display: "flex",
244
+ justifyContent: "spaceBetween",
245
+ alignItems: "flexEnd"
246
+ }, /*#__PURE__*/React.createElement(Text, {
247
+ size: variant === "bordered" ? "caption" : "body",
248
+ as: "label",
249
+ htmlFor: id
250
+ }, label ? /*#__PURE__*/React.createElement("span", {
251
+ className: modules_540a88ff.primaryLabel
252
+ }, label) : null), auxiliaryLabel ? /*#__PURE__*/React.createElement(Box, {
253
+ className: modules_540a88ff.auxiliaryLabel,
254
+ paddingLeft: "small"
255
+ }, auxiliaryLabel) : null) : null;
256
+ $[41] = auxiliaryLabel;
257
+ $[42] = id;
258
+ $[43] = label;
259
+ $[44] = variant;
260
+ $[45] = t8;
261
+ } else {
262
+ t8 = $[45];
79
263
  }
80
- return (React.createElement(Stack, { space: "xsmall", hidden: hidden },
81
- React.createElement(Box, { display: "flex", flexDirection: "row", className: [
82
- className,
83
- modules_540a88ff.container,
84
- tone === 'error' ? modules_540a88ff.error : null,
85
- variant === 'bordered' ? modules_540a88ff.bordered : null,
86
- ], maxWidth: maxWidth, alignItems: "center" },
87
- React.createElement(Box, { flexGrow: 1 },
88
- label || auxiliaryLabel ? (React.createElement(Box, { as: "span", display: "flex", justifyContent: "spaceBetween", alignItems: "flexEnd" },
89
- React.createElement(Text, { size: variant === 'bordered' ? 'caption' : 'body', as: "label", htmlFor: id }, label ? (React.createElement("span", { className: modules_540a88ff.primaryLabel }, label)) : null),
90
- auxiliaryLabel ? (React.createElement(Box, { className: modules_540a88ff.auxiliaryLabel, paddingLeft: "small" }, auxiliaryLabel)) : null)) : null,
91
- children(childrenProps)),
92
- endSlot && endSlotPosition === 'fullHeight' ? endSlot : null),
93
- message || renderCharacterCountBelow ? (React.createElement(Columns, { align: "right", space: "small", maxWidth: maxWidth },
94
- message ? (React.createElement(Column, { width: "auto" },
95
- React.createElement(FieldMessage, { id: messageId, tone: tone }, message))) : null,
96
- characterCountPosition === 'below' ? (React.createElement(Column, { width: "content" }, renderCharacterCount())) : null)) : null));
264
+ t9 = children(childrenProps);
265
+ $[6] = ariaDescribedBy;
266
+ $[7] = auxiliaryLabel;
267
+ $[8] = children;
268
+ $[9] = className;
269
+ $[10] = hidden;
270
+ $[11] = id;
271
+ $[12] = inputLength.count;
272
+ $[13] = inputLength.tone;
273
+ $[14] = label;
274
+ $[15] = maxLength;
275
+ $[16] = maxWidth;
276
+ $[17] = previousMaxLength;
277
+ $[18] = previousValue;
278
+ $[19] = renderCharacterCount;
279
+ $[20] = renderCharacterCountInline;
280
+ $[21] = tone;
281
+ $[22] = value;
282
+ $[23] = variant;
283
+ $[24] = T0;
284
+ $[25] = T1;
285
+ $[26] = T2;
286
+ $[27] = t10;
287
+ $[28] = t11;
288
+ $[29] = t12;
289
+ $[30] = t13;
290
+ $[31] = t14;
291
+ $[32] = t15;
292
+ $[33] = t16;
293
+ $[34] = t7;
294
+ $[35] = t8;
295
+ $[36] = t9;
296
+ } else {
297
+ T0 = $[24];
298
+ T1 = $[25];
299
+ T2 = $[26];
300
+ t10 = $[27];
301
+ t11 = $[28];
302
+ t12 = $[29];
303
+ t13 = $[30];
304
+ t14 = $[31];
305
+ t15 = $[32];
306
+ t16 = $[33];
307
+ t7 = $[34];
308
+ t8 = $[35];
309
+ t9 = $[36];
310
+ }
311
+ let t17;
312
+ if ($[46] !== T0 || $[47] !== t7 || $[48] !== t8 || $[49] !== t9) {
313
+ t17 = /*#__PURE__*/React.createElement(T0, {
314
+ flexGrow: t7
315
+ }, t8, t9);
316
+ $[46] = T0;
317
+ $[47] = t7;
318
+ $[48] = t8;
319
+ $[49] = t9;
320
+ $[50] = t17;
321
+ } else {
322
+ t17 = $[50];
323
+ }
324
+ const t18 = endSlot && endSlotPosition === "fullHeight" ? endSlot : null;
325
+ let t19;
326
+ if ($[51] !== T1 || $[52] !== t10 || $[53] !== t11 || $[54] !== t12 || $[55] !== t13 || $[56] !== t14 || $[57] !== t17 || $[58] !== t18) {
327
+ t19 = /*#__PURE__*/React.createElement(T1, {
328
+ display: t10,
329
+ flexDirection: t11,
330
+ className: t12,
331
+ maxWidth: t13,
332
+ alignItems: t14
333
+ }, t17, t18);
334
+ $[51] = T1;
335
+ $[52] = t10;
336
+ $[53] = t11;
337
+ $[54] = t12;
338
+ $[55] = t13;
339
+ $[56] = t14;
340
+ $[57] = t17;
341
+ $[58] = t18;
342
+ $[59] = t19;
343
+ } else {
344
+ t19 = $[59];
345
+ }
346
+ let t20;
347
+ if ($[60] !== characterCountPosition || $[61] !== maxWidth || $[62] !== message || $[63] !== messageId || $[64] !== renderCharacterCount || $[65] !== renderCharacterCountBelow || $[66] !== tone) {
348
+ t20 = message || renderCharacterCountBelow ? /*#__PURE__*/React.createElement(Columns, {
349
+ align: "right",
350
+ space: "small",
351
+ maxWidth: maxWidth
352
+ }, message ? /*#__PURE__*/React.createElement(Column, {
353
+ width: "auto"
354
+ }, /*#__PURE__*/React.createElement(FieldMessage, {
355
+ id: messageId,
356
+ tone: tone
357
+ }, message)) : null, characterCountPosition === "below" ? /*#__PURE__*/React.createElement(Column, {
358
+ width: "content"
359
+ }, renderCharacterCount()) : null) : null;
360
+ $[60] = characterCountPosition;
361
+ $[61] = maxWidth;
362
+ $[62] = message;
363
+ $[63] = messageId;
364
+ $[64] = renderCharacterCount;
365
+ $[65] = renderCharacterCountBelow;
366
+ $[66] = tone;
367
+ $[67] = t20;
368
+ } else {
369
+ t20 = $[67];
370
+ }
371
+ let t21;
372
+ if ($[68] !== T2 || $[69] !== t15 || $[70] !== t16 || $[71] !== t19 || $[72] !== t20) {
373
+ t21 = /*#__PURE__*/React.createElement(T2, {
374
+ space: t15,
375
+ hidden: t16
376
+ }, t19, t20);
377
+ $[68] = T2;
378
+ $[69] = t15;
379
+ $[70] = t16;
380
+ $[71] = t19;
381
+ $[72] = t20;
382
+ $[73] = t21;
383
+ } else {
384
+ t21 = $[73];
385
+ }
386
+ return t21;
97
387
  }
98
388
 
99
389
  export { BaseField, FieldMessage };
@@ -1 +1 @@
1
- {"version":3,"file":"base-field.js","sources":["../../src/base-field/base-field.tsx"],"sourcesContent":[null],"names":["styles"],"mappings":"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"}
1
+ {"version":3,"file":"base-field.js","sources":["../../src/base-field/base-field.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { Box } from '../box'\nimport { Column, Columns } from '../columns'\nimport { Spinner } from '../spinner'\nimport { Stack } from '../stack'\nimport { Text } from '../text'\nimport { useId } from '../utils/common-helpers'\n\nimport styles from './base-field.module.css'\n\nimport type { BoxProps } from '../box'\nimport type { WithEnhancedClassName } from '../utils/common-types'\n\n// Define the remaining characters before the character count turns red\n// See: https://twist.com/a/1585/ch/765851/t/6664583/c/93631846 for latest spec\nconst MAX_LENGTH_THRESHOLD = 0\n\ntype FieldTone = 'neutral' | 'success' | 'error' | 'loading'\n\ntype FieldMessageProps = {\n id: string\n children: React.ReactNode\n tone: FieldTone\n}\n\nfunction fieldToneToTextTone(tone: FieldTone) {\n return tone === 'error' ? 'danger' : tone === 'success' ? 'positive' : 'secondary'\n}\n\nfunction FieldMessage({ id, children, tone }: FieldMessageProps) {\n return (\n <Text as=\"p\" tone={fieldToneToTextTone(tone)} size=\"copy\" id={id}>\n {tone === 'loading' ? (\n <Box\n as=\"span\"\n marginRight=\"xsmall\"\n display=\"inlineFlex\"\n className={styles.loadingIcon}\n >\n <Spinner size={16} />\n </Box>\n ) : null}\n {children}\n </Text>\n )\n}\n\ntype FieldCharacterCountProps = {\n children: React.ReactNode\n tone: FieldTone\n}\n\nfunction FieldCharacterCount({ children, tone }: FieldCharacterCountProps) {\n return (\n <Text tone={fieldToneToTextTone(tone)} size=\"copy\">\n {children}\n </Text>\n )\n}\n\ntype ValidateInputLengthProps = {\n value?: React.InputHTMLAttributes<unknown>['value']\n maxLength?: number\n}\n\ntype ValidateInputLengthResult = {\n count: string | null\n tone: FieldTone\n}\n\nfunction validateInputLength({\n value,\n maxLength,\n}: ValidateInputLengthProps): ValidateInputLengthResult {\n if (!maxLength) {\n return {\n count: null,\n tone: 'neutral',\n }\n }\n\n const currentLength = String(value || '').length\n const isNearMaxLength = maxLength - currentLength <= MAX_LENGTH_THRESHOLD\n\n return {\n count: `${currentLength}/${maxLength}`,\n tone: isNearMaxLength ? 'error' : 'neutral',\n }\n}\n\n//\n// BaseField\n//\n\ntype ChildrenRenderProps = {\n id: string\n value?: React.InputHTMLAttributes<unknown>['value']\n 'aria-describedby'?: string\n 'aria-invalid'?: true\n onChange?: React.ChangeEventHandler<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>\n characterCountElement?: React.ReactNode | null\n}\n\ntype HtmlInputProps<T extends HTMLElement> = React.DetailedHTMLProps<\n React.InputHTMLAttributes<T>,\n T\n>\n\ntype BaseFieldVariant = 'default' | 'bordered'\ntype BaseFieldVariantProps = {\n /**\n * Provides alternative visual layouts or modes that the field can be rendered in.\n *\n * Namely, there are two variants supported:\n *\n * - the default one\n * - a \"bordered\" variant, where the border of the field surrounds also the labels, instead\n * of just surrounding the actual field element\n *\n * In both cases, the message and description texts for the field lie outside the bordered\n * area.\n */\n variant?: BaseFieldVariant\n}\n\nexport type BaseFieldProps = WithEnhancedClassName &\n Pick<HtmlInputProps<HTMLInputElement>, 'id' | 'hidden' | 'maxLength' | 'aria-describedby'> & {\n /**\n * The main label for this field element.\n *\n * This prop is not optional. Consumers of field components must be explicit about not\n * wanting a label by passing `label=\"\"` or `label={null}`. In those situations, consumers\n * should make sure that fields are properly labelled semantically by other means (e.g using\n * `aria-labelledby`, or rendering a `<label />` element referencing the field by id).\n *\n * Avoid providing interactive elements in the label. Prefer `auxiliaryLabel` for that.\n *\n * @see BaseFieldProps['auxiliaryLabel']\n */\n label: React.ReactNode\n\n /**\n * The initial value for this field element.\n *\n * This prop is used to calculate the character count for the initial value, and is then\n * passed to the underlying child element.\n */\n value?: React.InputHTMLAttributes<unknown>['value']\n\n /**\n * An optional extra element to be placed to the right of the main label.\n *\n * This extra element is not included in the accessible name of the field element. Its only\n * purpose is either visual, or functional (if you include interactive elements in it).\n *\n * @see BaseFieldProps['label']\n *\n * @deprecated The usage of this element is discouraged given that it was removed from the\n * latest form field spec revision.\n */\n auxiliaryLabel?: React.ReactNode\n\n /**\n * A message associated with the field. It is rendered below the field, and with an\n * appearance that conveys the tone of the field (e.g. coloured red for errors, green for\n * success, etc).\n *\n * The message element is associated to the field via the `aria-describedby` attribute.\n *\n * In the future, when `aria-errormessage` gets better user agent support, we should use it\n * to associate the filed with a message when tone is `\"error\"`.\n *\n * @see BaseFieldProps['tone']\n * @see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-errormessage\n * @see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-invalid\n */\n message?: React.ReactNode\n\n /**\n * The tone with which the message, if any, is presented.\n *\n * If the tone is `\"error\"`, the field border turns red, and the message, if any, is also\n * red.\n *\n * When the tone is `\"loading\"`, it is recommended that you also disable the field. However,\n * this is not enforced by the component. It is only a recommendation.\n *\n * @see BaseFieldProps['message']\n * @see BaseFieldProps['hint']\n */\n tone?: FieldTone\n\n /**\n * The maximum width that the input field can expand to.\n */\n maxWidth?: BoxProps['maxWidth']\n\n /**\n * The maximum number of characters that the input field can accept.\n * When this limit is reached, the input field will not accept any more characters.\n * The counter element will turn red when the number of characters is within 10 of the maximum limit.\n */\n maxLength?: number\n\n /**\n * Used internally by components composed using `BaseField`. It is not exposed as part of\n * the public props of such components.\n */\n children: (props: ChildrenRenderProps) => React.ReactNode\n\n /**\n * The position of the character count element.\n * It can be shown below the field or inline with the field.\n *\n * @default 'below'\n */\n characterCountPosition?: 'below' | 'inline' | 'hidden'\n } & (\n | {\n supportsStartAndEndSlots?: false\n endSlot?: never\n endSlotPosition?: never\n }\n | {\n supportsStartAndEndSlots: true\n endSlot?: React.ReactElement | string | number\n /**\n * This is solely for `bordered` variants of TextField. When set to `bottom` (the default),\n * the endSlot will be placed inline with the input field. When set to `fullHeight`, the endSlot\n * will be placed to the side of both the input field and the label.\n */\n endSlotPosition?: 'bottom' | 'fullHeight'\n }\n )\n\ntype FieldComponentProps<T extends HTMLElement> = Omit<\n BaseFieldProps,\n 'children' | 'className' | 'fieldRef' | 'variant'\n> &\n Omit<HtmlInputProps<T>, 'className' | 'style'>\n\n/**\n * BaseField is a base component that provides a consistent structure for form fields.\n */\nfunction BaseField({\n variant = 'default',\n label,\n value,\n auxiliaryLabel,\n message,\n tone = 'neutral',\n className,\n children,\n maxWidth,\n maxLength,\n hidden,\n 'aria-describedby': originalAriaDescribedBy,\n id: originalId,\n characterCountPosition = 'below',\n endSlot,\n endSlotPosition = 'bottom',\n}: BaseFieldProps & BaseFieldVariantProps & WithEnhancedClassName) {\n const id = useId(originalId)\n const messageId = useId()\n\n const inputLength = validateInputLength({ value, maxLength })\n\n const [previousValue, setPreviousValue] = React.useState<BaseFieldProps['value']>(value)\n const [previousMaxLength, setPreviousMaxLength] =\n React.useState<BaseFieldProps['maxLength']>(maxLength)\n const [characterCount, setCharacterCount] = React.useState<string | null>(inputLength.count)\n const [characterCountTone, setCharacterCountTone] = React.useState<FieldTone>(inputLength.tone)\n\n const ariaDescribedBy = originalAriaDescribedBy ?? (message ? messageId : null)\n\n const renderCharacterCountBelow = characterCountPosition === 'below' && characterCount !== null\n const renderCharacterCountInline =\n characterCountPosition === 'inline' && characterCount !== null\n\n function renderCharacterCount() {\n return <FieldCharacterCount tone={characterCountTone}>{characterCount}</FieldCharacterCount>\n }\n\n const childrenProps: ChildrenRenderProps = {\n id,\n value,\n ...(ariaDescribedBy ? { 'aria-describedby': ariaDescribedBy } : {}),\n 'aria-invalid': tone === 'error' ? true : undefined,\n onChange(event) {\n if (!maxLength) {\n return\n }\n\n const inputLength = validateInputLength({\n value: event.currentTarget.value,\n maxLength,\n })\n\n setCharacterCount(inputLength.count)\n setCharacterCountTone(inputLength.tone)\n },\n // If the character count is inline, we pass it as a prop to the children element so it can be rendered inline\n characterCountElement: renderCharacterCountInline ? renderCharacterCount() : null,\n }\n\n if (value !== previousValue || maxLength !== previousMaxLength) {\n setPreviousValue(value)\n setPreviousMaxLength(maxLength)\n setCharacterCount(inputLength.count)\n setCharacterCountTone(inputLength.tone)\n }\n\n return (\n <Stack space=\"xsmall\" hidden={hidden}>\n <Box\n display=\"flex\"\n flexDirection=\"row\"\n className={[\n className,\n styles.container,\n tone === 'error' ? styles.error : null,\n variant === 'bordered' ? styles.bordered : null,\n ]}\n maxWidth={maxWidth}\n alignItems=\"center\"\n >\n <Box flexGrow={1}>\n {label || auxiliaryLabel ? (\n <Box\n as=\"span\"\n display=\"flex\"\n justifyContent=\"spaceBetween\"\n alignItems=\"flexEnd\"\n >\n <Text\n size={variant === 'bordered' ? 'caption' : 'body'}\n as=\"label\"\n htmlFor={id}\n >\n {label ? (\n <span className={styles.primaryLabel}>{label}</span>\n ) : null}\n </Text>\n {auxiliaryLabel ? (\n <Box className={styles.auxiliaryLabel} paddingLeft=\"small\">\n {auxiliaryLabel}\n </Box>\n ) : null}\n </Box>\n ) : null}\n {children(childrenProps)}\n </Box>\n {endSlot && endSlotPosition === 'fullHeight' ? endSlot : null}\n </Box>\n\n {message || renderCharacterCountBelow ? (\n <Columns align=\"right\" space=\"small\" maxWidth={maxWidth}>\n {message ? (\n <Column width=\"auto\">\n <FieldMessage id={messageId} tone={tone}>\n {message}\n </FieldMessage>\n </Column>\n ) : null}\n\n {/* If the character count is below the field, we render it, if it's inline,\n we pass it as a prop to the children element so it can be rendered inline */}\n {characterCountPosition === 'below' ? (\n <Column width=\"content\">{renderCharacterCount()}</Column>\n ) : null}\n </Columns>\n ) : null}\n </Stack>\n )\n}\n\nexport { BaseField, FieldMessage }\nexport type { BaseFieldVariant, BaseFieldVariantProps, FieldComponentProps }\n"],"names":["MAX_LENGTH_THRESHOLD","fieldToneToTextTone","tone","FieldMessage","t0","$","_c","id","children","t1","t2","React","createElement","Box","as","marginRight","display","className","styles","loadingIcon","Spinner","size","t3","Text","FieldCharacterCount","validateInputLength","value","maxLength","count","currentLength","String","length","isNearMaxLength","BaseField","variant","label","auxiliaryLabel","message","maxWidth","hidden","originalAriaDescribedBy","originalId","characterCountPosition","endSlot","endSlotPosition","t4","undefined","useId","messageId","t5","inputLength","previousValue","setPreviousValue","useState","previousMaxLength","setPreviousMaxLength","characterCount","setCharacterCount","characterCountTone","setCharacterCountTone","ariaDescribedBy","renderCharacterCountBelow","renderCharacterCountInline","t6","renderCharacterCount","T0","T1","T2","t10","t11","t12","t13","t14","t15","t16","t7","t8","t9","childrenProps","_objectSpread","onChange","event","inputLength_0","currentTarget","characterCountElement","Stack","t17","error","t18","bordered","container","justifyContent","alignItems","primaryLabel","paddingLeft","flexGrow","t19","flexDirection","t20","Columns","align","space","Column","width","t21"],"mappings":"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"}